Import place-context-provider into src/place 36/56636/2
authorMu-Woong Lee <muwoong.lee@samsung.com>
Mon, 11 Jan 2016 13:30:51 +0000 (22:30 +0900)
committerMu-Woong Lee <muwoong.lee@samsung.com>
Tue, 12 Jan 2016 06:09:54 +0000 (15:09 +0900)
Change-Id: I23e49e0e0a3b0904385fb5f062ef3cbfec3fe66f
Signed-off-by: Mu-Woong Lee <muwoong.lee@samsung.com>
48 files changed:
AUTHORS
include/place_context_provider.h [new file with mode: 0644]
packaging/context-provider.spec
src/CMakeLists.txt
src/place/CMakeLists.txt [new file with mode: 0644]
src/place/geofence/myplace_handle.cpp [new file with mode: 0644]
src/place/geofence/myplace_handle.h [new file with mode: 0644]
src/place/geofence/place_geofence.cpp [new file with mode: 0644]
src/place/geofence/place_geofence.h [new file with mode: 0644]
src/place/geofence/place_geofence_types.h [new file with mode: 0644]
src/place/place_context_provider.cpp [new file with mode: 0644]
src/place/recognition/place_recognition.cpp [new file with mode: 0644]
src/place/recognition/place_recognition.h [new file with mode: 0644]
src/place/recognition/place_recognition_types.h [new file with mode: 0644]
src/place/recognition/user_places/debug_utils.cpp [new file with mode: 0644]
src/place/recognition/user_places/debug_utils.h [new file with mode: 0644]
src/place/recognition/user_places/gmap.cpp [new file with mode: 0644]
src/place/recognition/user_places/gmap.h [new file with mode: 0644]
src/place/recognition/user_places/graph.cpp [new file with mode: 0644]
src/place/recognition/user_places/graph.h [new file with mode: 0644]
src/place/recognition/user_places/location_listener_iface.h [new file with mode: 0644]
src/place/recognition/user_places/location_logger.cpp [new file with mode: 0644]
src/place/recognition/user_places/location_logger.h [new file with mode: 0644]
src/place/recognition/user_places/mahal.cpp [new file with mode: 0644]
src/place/recognition/user_places/mahal.h [new file with mode: 0644]
src/place/recognition/user_places/median.cpp [new file with mode: 0644]
src/place/recognition/user_places/median.h [new file with mode: 0644]
src/place/recognition/user_places/piecewise_lin.cpp [new file with mode: 0644]
src/place/recognition/user_places/piecewise_lin.h [new file with mode: 0644]
src/place/recognition/user_places/place_categer.cpp [new file with mode: 0644]
src/place/recognition/user_places/place_categer.h [new file with mode: 0644]
src/place/recognition/user_places/places_detector.cpp [new file with mode: 0644]
src/place/recognition/user_places/places_detector.h [new file with mode: 0644]
src/place/recognition/user_places/prob_features_model.h [new file with mode: 0644]
src/place/recognition/user_places/similar.h [new file with mode: 0644]
src/place/recognition/user_places/user_places.cpp [new file with mode: 0644]
src/place/recognition/user_places/user_places.h [new file with mode: 0644]
src/place/recognition/user_places/user_places_params.h [new file with mode: 0644]
src/place/recognition/user_places/user_places_types.cpp [new file with mode: 0644]
src/place/recognition/user_places/user_places_types.h [new file with mode: 0644]
src/place/recognition/user_places/visit_categer.cpp [new file with mode: 0644]
src/place/recognition/user_places/visit_categer.h [new file with mode: 0644]
src/place/recognition/user_places/visit_detector.cpp [new file with mode: 0644]
src/place/recognition/user_places/visit_detector.h [new file with mode: 0644]
src/place/recognition/user_places/visit_listener_iface.h [new file with mode: 0644]
src/place/recognition/user_places/wifi_listener_iface.h [new file with mode: 0644]
src/place/recognition/user_places/wifi_logger.cpp [new file with mode: 0644]
src/place/recognition/user_places/wifi_logger.h [new file with mode: 0644]

diff --git a/AUTHORS b/AUTHORS
index bd334ac93100509b8c8ef36da46bf082875fcb03..a63b295807104fa8dc18c62fc7f0a32366d08026 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,5 +1,5 @@
 Mu-Woong Lee       <muwoong.lee@samsung.com>
-Andrei Glushkov    <a.glushkov@samsung.com>
+Andrey Glushkov    <a.glushkov@samsung.com>
 Somin Kim          <somin926.kim@samsung.com>
 Bozena Lukasiak    <b.lukasiak@samsung.com>
 Marcin Masternak   <m.masternak@samsung.com>
diff --git a/include/place_context_provider.h b/include/place_context_provider.h
new file mode 100644 (file)
index 0000000..407838b
--- /dev/null
@@ -0,0 +1,24 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_CONTEXT_PROVIDER_H__
+#define __CONTEXT_PLACE_CONTEXT_PROVIDER_H__
+
+namespace ctx {
+       bool init_place_context_provider();
+}
+
+#endif /* __CONTEXT_PLACE_CONTEXT_PROVIDER_H__ */
index 5746f9da50f5066c32ae3aac482ed6090daeff77..105f81bfc724e39844e25d608613b9aa8d4a3eee 100644 (file)
@@ -40,6 +40,8 @@ BuildRequires: pkgconfig(capi-messaging-email)
 BuildRequires: pkgconfig(motion)
 BuildRequires: pkgconfig(contacts-service2)
 BuildRequires: pkgconfig(capi-content-media-content)
+BuildRequires: pkgconfig(capi-location-manager)
+BuildRequires: pkgconfig(capi-geofence-manager)
 %endif
 
 %if "%{?BUILD_PROFILE}" == "wearable"
index 06f3799df4b305cd5e34f8749873ef93a468dc06..ed81952b8c303677a584eaece7c1489517b8f41c 100644 (file)
@@ -1,16 +1,16 @@
 CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
 
-ADD_SUBDIRECTORY(device)
-GET_DIRECTORY_PROPERTY(target_sub DIRECTORY device DEFINITION target)
-GET_DIRECTORY_PROPERTY(deps_sub DIRECTORY device DEFINITION deps)
-SET(target_all "${target_all} -l${target_sub}")
-SET(deps_list "${deps_list} ${deps_sub}")
+FUNCTION(add_provider prvd_name)
+       ADD_SUBDIRECTORY(${prvd_name})
+       GET_DIRECTORY_PROPERTY(target_sub DIRECTORY ${prvd_name} DEFINITION target)
+       GET_DIRECTORY_PROPERTY(deps_sub DIRECTORY ${prvd_name} DEFINITION deps)
+       SET(target_all "${target_all} -l${target_sub}" PARENT_SCOPE)
+       SET(deps_list "${deps_list} ${deps_sub}" PARENT_SCOPE)
+ENDFUNCTION(add_provider)
 
-ADD_SUBDIRECTORY(statistics)
-GET_DIRECTORY_PROPERTY(target_sub DIRECTORY statistics DEFINITION target)
-GET_DIRECTORY_PROPERTY(deps_sub DIRECTORY statistics DEFINITION deps)
-SET(target_all "${target_all} -l${target_sub}")
-SET(deps_list "${deps_list} ${deps_sub}")
+add_provider(device)
+add_provider(statistics)
+add_provider(place)
 
 SEPARATE_ARGUMENTS(deps_list)
 LIST(REMOVE_DUPLICATES deps_list)
diff --git a/src/place/CMakeLists.txt b/src/place/CMakeLists.txt
new file mode 100644 (file)
index 0000000..47ec7df
--- /dev/null
@@ -0,0 +1,34 @@
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+SET(target "ctx-place")
+
+# Common Profile
+FILE(GLOB srcs *.cpp)
+
+# Mobile Profile
+IF("${PROFILE}" STREQUAL "mobile")
+       FILE(GLOB_RECURSE srcs ${srcs} geofence/*.cpp)
+       FILE(GLOB_RECURSE srcs ${srcs} recognition/*.cpp)
+       SET(deps "${deps} capi-location-manager")
+       SET(deps "${deps} capi-geofence-manager")
+       SET(deps "${deps} capi-network-wifi")
+ENDIF("${PROFILE}" STREQUAL "mobile")
+
+MESSAGE("Place Provider Sources: ${srcs}")
+
+# Build
+INCLUDE(FindPkgConfig)
+PKG_CHECK_MODULES(place_pkgs REQUIRED ${deps_common} ${deps})
+
+FOREACH(flag ${place_pkgs_CFLAGS})
+       SET(extra_cflags "${extra_cflags} ${flag}")
+ENDFOREACH(flag)
+
+ADD_LIBRARY(${target} SHARED ${srcs})
+TARGET_LINK_LIBRARIES(${target} ${place_pkgs_LDFLAGS})
+SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_FLAGS ${extra_cflags})
+SET_TARGET_PROPERTIES(${target} PROPERTIES COMPILE_DEFINITIONS "LOG_TAG=\"CONTEXT-PLACE\"")
+SET_TARGET_PROPERTIES(${target} PROPERTIES SOVERSION ${MAJORVER})
+SET_TARGET_PROPERTIES(${target} PROPERTIES VERSION ${FULLVER})
+
+# Install
+INSTALL(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT RuntimeLibraries)
diff --git a/src/place/geofence/myplace_handle.cpp b/src/place/geofence/myplace_handle.cpp
new file mode 100644 (file)
index 0000000..cb830ff
--- /dev/null
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <types_internal.h>
+#include <json.h>
+#include <context_mgr.h>
+#include "place_geofence_types.h"
+#include "myplace_handle.h"
+
+ctx::myplace_handle::myplace_handle()
+       : _place_id(-1)
+       , prev_state(GEOFENCE_STATE_UNCERTAIN)
+       , geo_handle(NULL)
+{
+}
+
+ctx::myplace_handle::~myplace_handle()
+{
+       stop_monitor();
+}
+
+bool ctx::myplace_handle::start_monitor(int place_id)
+{
+       _D("Starts to monitor Place-%d", place_id);
+
+       IF_FAIL_RETURN(place_id >= 0, false);
+       IF_FAIL_RETURN_TAG(geo_handle == NULL, false, _E, "Re-starting MyPlace monitor");
+
+       geofence_manager_create(&geo_handle);
+       IF_FAIL_RETURN_TAG(geo_handle, false, _E, "Geofence initialization failed");
+
+       int ret;
+
+       ret = geofence_manager_set_geofence_state_changed_cb(geo_handle, fence_state_cb, this);
+       IF_FAIL_CATCH_TAG(ret == GEOFENCE_MANAGER_ERROR_NONE, _E, "Setting state callback failed");
+
+       ret = geofence_manager_set_geofence_event_cb(geo_handle, fence_event_cb, this);
+       IF_FAIL_CATCH_TAG(ret == GEOFENCE_MANAGER_ERROR_NONE, _E, "Setting event callback failed");
+
+       ret = geofence_manager_foreach_place_geofence_list(geo_handle, place_id, fence_list_cb, this);
+       IF_FAIL_CATCH_TAG(ret == GEOFENCE_MANAGER_ERROR_NONE, _E, "Getting fence list failed");
+
+       _place_id = place_id;
+       return true;
+
+CATCH:
+       stop_monitor();
+       return false;
+}
+
+int ctx::myplace_handle::get_place_id()
+{
+       return _place_id;
+}
+
+void ctx::myplace_handle::stop_monitor()
+{
+       _D("Stops monitoring Place-%d", _place_id);
+
+       //TODO: Do we need to stop all geofences explicitly?
+       if (geo_handle) {
+               geofence_manager_destroy(geo_handle);
+               geo_handle = NULL;
+       }
+
+       geo_state_map.clear();
+       _place_id = -1;
+       prev_state = GEOFENCE_STATE_UNCERTAIN;
+}
+
+bool ctx::myplace_handle::start_fence(int fence_id)
+{
+       int ret;
+
+       ret = geofence_manager_start(geo_handle, fence_id);
+       IF_FAIL_RETURN_TAG(ret == GEOFENCE_MANAGER_ERROR_NONE, true, _W, "Starting failed");
+
+       geofence_status_h status;
+       ret = geofence_status_create(fence_id, &status);
+       IF_FAIL_RETURN_TAG(ret == GEOFENCE_MANAGER_ERROR_NONE, true, _W, "Getting status failed");
+
+       geofence_state_e state = GEOFENCE_STATE_UNCERTAIN;
+       geofence_status_get_state(status, &state);
+       geofence_status_destroy(status);
+
+       geo_state_map[fence_id] = state;
+
+       return true;
+}
+
+void ctx::myplace_handle::remove_fence(int fence_id)
+{
+       geofence_manager_stop(geo_handle, fence_id);
+       geo_state_map.erase(fence_id);
+}
+
+void ctx::myplace_handle::update_fence(int fence_id, geofence_manage_e manage)
+{
+       switch (manage) {
+               case GEOFENCE_MANAGE_PLACE_REMOVED:
+                       _W("[Place-%d] Removed", _place_id);
+                       stop_monitor();
+                       break;
+               case GEOFENCE_MANAGE_FENCE_ADDED:
+                       _I("[Place %d] Fence-%d added", _place_id, fence_id);
+                       start_fence(fence_id);
+                       emit_state_change();
+                       break;
+               case GEOFENCE_MANAGE_FENCE_REMOVED:
+                       _I("[Place-%d] Fence-%d removed", _place_id, fence_id);
+                       remove_fence(fence_id);
+                       emit_state_change();
+                       break;
+               case GEOFENCE_MANAGE_FENCE_STARTED:
+                       _D("[Place-%d] Fence-%d started", _place_id, fence_id);
+                       break;
+               case GEOFENCE_MANAGE_FENCE_STOPPED:
+                       _D("[Place-%d] Fence-%d stopped", _place_id, fence_id);
+                       //TODO: Do we need to restart this?
+                       break;
+               default:
+                       _D("[Place-%d] Ignoring the manage event %d", _place_id, manage);
+                       break;
+       }
+}
+
+void ctx::myplace_handle::update_state(int fence_id, geofence_state_e state)
+{
+       geo_state_map[fence_id] = state;
+}
+
+static const char* get_state_string(geofence_state_e state)
+{
+       switch (state) {
+               case GEOFENCE_STATE_IN:
+                       return MYPLACE_EVENT_IN;
+               case GEOFENCE_STATE_OUT:
+                       return MYPLACE_EVENT_OUT;
+               case GEOFENCE_STATE_UNCERTAIN:
+                       return MYPLACE_EVENT_UNCERTAIN;
+               default:
+                       return MYPLACE_EVENT_UNCERTAIN;
+       }
+}
+
+void ctx::myplace_handle::emit_state_change()
+{
+       geofence_state_e current_state = GEOFENCE_STATE_UNCERTAIN;
+       int out_count = 0;
+
+       for (geo_state_map_t::iterator it = geo_state_map.begin(); it != geo_state_map.end(); ++it) {
+               if (it->second == GEOFENCE_STATE_IN) {
+                       current_state = GEOFENCE_STATE_IN;
+                       break;
+               } else if (it->second == GEOFENCE_STATE_OUT) {
+                       ++ out_count;
+               }
+       }
+
+       if (current_state != GEOFENCE_STATE_IN && out_count > 0) {
+               current_state = GEOFENCE_STATE_OUT;
+       }
+
+       if (current_state == prev_state) {
+               return;
+       }
+
+       prev_state = current_state;
+
+       json option;
+       option.set(NULL, PLACE_STATUS_DATA_MYPLACE_ID, _place_id);
+
+       json data;
+       data.set(NULL, PLACE_STATUS_DATA_MYPLACE_ID, _place_id);
+       data.set(NULL, PLACE_STATUS_DATA_MYPLACE_EVENT, get_state_string(current_state));
+
+       context_manager::publish(PLACE_SUBJ_GEOFENCE, option, ERR_NONE, data);
+}
+
+bool ctx::myplace_handle::fence_list_cb(int geofence_id, geofence_h fence, int fence_index, int fence_cnt, void* user_data)
+{
+       _D("FenceID: %d, Index: %d, Count: %d", geofence_id, fence_index, fence_cnt);
+       IF_FAIL_RETURN(fence_cnt > 0, false);
+
+       myplace_handle *handle = reinterpret_cast<myplace_handle*>(user_data);
+       return handle->start_fence(geofence_id);
+}
+
+void ctx::myplace_handle::fence_event_cb(int place_id, int geofence_id, geofence_manager_error_e error, geofence_manage_e manage, void* user_data)
+{
+       IF_FAIL_VOID_TAG(error == GEOFENCE_MANAGER_ERROR_NONE, _W, "Geofence error: %d", error);
+
+       myplace_handle *handle = reinterpret_cast<myplace_handle*>(user_data);
+
+       IF_FAIL_VOID_TAG(place_id == handle->get_place_id(), _W, "Mismatched Place ID");
+
+       handle->update_fence(geofence_id, manage);
+}
+
+void ctx::myplace_handle::fence_state_cb(int geofence_id, geofence_state_e state, void* user_data)
+{
+       myplace_handle *handle = reinterpret_cast<myplace_handle*>(user_data);
+       handle->update_state(geofence_id, state);
+       handle->emit_state_change();
+}
diff --git a/src/place/geofence/myplace_handle.h b/src/place/geofence/myplace_handle.h
new file mode 100644 (file)
index 0000000..c8b4913
--- /dev/null
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_MYPLACE_HANDLE_H__
+#define __CONTEXT_PLACE_MYPLACE_HANDLE_H__
+
+#include <set>
+#include <string>
+#include <map>
+#include <geofence_manager.h>
+
+namespace ctx {
+
+       class myplace_handle {
+
+               typedef std::map<int, geofence_state_e> geo_state_map_t;
+               typedef std::set<std::string> string_set_t;
+
+               public:
+                       myplace_handle();
+                       ~myplace_handle();
+
+                       bool start_monitor(int place_id);
+                       int get_place_id();
+
+               private:
+                       int _place_id;
+                       geofence_state_e prev_state;
+                       geofence_manager_h geo_handle;
+                       geo_state_map_t geo_state_map;
+
+                       void emit_state_change();
+                       void stop_monitor();
+                       bool start_fence(int fence_id);
+                       void remove_fence(int fence_id);
+                       void update_fence(int fence_id, geofence_manage_e manage);
+                       void update_state(int fence_id, geofence_state_e state);
+
+                       static bool fence_list_cb(int geofence_id, geofence_h fence, int fence_index, int fence_cnt, void* user_data);
+                       static void fence_event_cb(int place_id, int geofence_id, geofence_manager_error_e error, geofence_manage_e manage, void* user_data);
+                       static void fence_state_cb(int geofence_id, geofence_state_e state, void* user_data);
+       };
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_MYPLACE_HANDLE_H__ */
diff --git a/src/place/geofence/place_geofence.cpp b/src/place/geofence/place_geofence.cpp
new file mode 100644 (file)
index 0000000..53fb40b
--- /dev/null
@@ -0,0 +1,151 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <geofence_manager.h>
+
+#include <types_internal.h>
+#include <json.h>
+#include <context_mgr.h>
+#include "place_geofence.h"
+
+ctx::place_geofence_provider *ctx::place_geofence_provider::__instance = NULL;
+
+ctx::place_geofence_provider::place_geofence_provider()
+{
+}
+
+ctx::place_geofence_provider::~place_geofence_provider()
+{
+       for (handle_map_t::iterator it = __handle_map.begin(); it != __handle_map.end(); ++it) {
+               delete it->second;
+       }
+
+       __handle_map.clear();
+}
+
+ctx::context_provider_iface *ctx::place_geofence_provider::create(void *data)
+{
+       IF_FAIL_RETURN(!__instance, __instance);
+       __instance = new(std::nothrow) place_geofence_provider();
+       IF_FAIL_RETURN_TAG(__instance, NULL, _E, "Memory allocation failed");
+       _I(BLUE("Created"));
+       return __instance;
+}
+
+void ctx::place_geofence_provider::destroy(void *data)
+{
+       IF_FAIL_VOID(__instance);
+       delete __instance;
+       __instance = NULL;
+       _I(BLUE("Destroyed"));
+}
+
+bool ctx::place_geofence_provider::is_supported()
+{
+       bool supported = false;
+       int ret = geofence_manager_is_supported(&supported);
+       IF_FAIL_RETURN_TAG(ret == GEOFENCE_MANAGER_ERROR_NONE, false, _E, "geofence_manager_is_supported() failed");
+       return supported;
+}
+
+void ctx::place_geofence_provider::submit_trigger_item()
+{
+       context_manager::register_trigger_item(PLACE_SUBJ_GEOFENCE, OPS_SUBSCRIBE,
+                       "{"
+                               "\"Event\":{\"type\":\"string\",\"values\":[\"In\",\"Out\"]}"
+                       "}",
+                       "{"
+                               "\"PlaceId\":{\"type\":\"integer\",\"min\":1}"
+                       "}");
+}
+
+void ctx::place_geofence_provider::__destroy_if_unused()
+{
+       IF_FAIL_VOID(__handle_map.empty());
+       destroy(NULL);
+}
+
+
+int ctx::place_geofence_provider::subscribe(const char *subject, ctx::json option, ctx::json *request_result)
+{
+       int ret = __subscribe(option);
+       __destroy_if_unused();
+       return ret;
+}
+
+int ctx::place_geofence_provider::unsubscribe(const char *subject, ctx::json option)
+{
+       int ret = __unsubscribe(option);
+       __destroy_if_unused();
+       return ret;
+}
+
+int ctx::place_geofence_provider::read(const char *subject, ctx::json option, ctx::json *request_result)
+{
+       __destroy_if_unused();
+       return ERR_NOT_SUPPORTED;
+}
+
+int ctx::place_geofence_provider::write(const char *subject, ctx::json data, ctx::json *request_result)
+{
+       __destroy_if_unused();
+       return ERR_NOT_SUPPORTED;
+}
+
+int ctx::place_geofence_provider::__subscribe(ctx::json option)
+{
+       int pid = -1;
+       option.get(NULL, PLACE_STATUS_OPT_MYPLACE_ID, &pid);
+       IF_FAIL_RETURN_TAG(pid != -1, ERR_INVALID_PARAMETER, _E, "Getting PlaceID failed");
+
+       handle_map_t::iterator it = __handle_map.find(pid);
+       if (it != __handle_map.end()) {
+               _D("Place ID %d is being monitored already", pid);
+               return ERR_NONE;
+       }
+
+       myplace_handle *handle = new(std::nothrow) myplace_handle();
+       ASSERT_ALLOC(handle);
+
+       bool ret = handle->start_monitor(pid);
+       if (!ret) {
+               _E("Monitoring Place ID %d failed", pid);
+               delete handle;
+               return ERR_OPERATION_FAILED;
+       }
+
+       __handle_map[pid] = handle;
+
+       return ERR_NONE;
+}
+
+int ctx::place_geofence_provider::__unsubscribe(ctx::json option)
+{
+       int pid = -1;
+       option.get(NULL, PLACE_STATUS_OPT_MYPLACE_ID, &pid);
+       IF_FAIL_RETURN_TAG(pid != -1, ERR_INVALID_PARAMETER, _E, "Getting PlaceID failed");
+
+       handle_map_t::iterator it = __handle_map.find(pid);
+       if (it == __handle_map.end()) {
+               _D("Place ID %d is not being monitored", pid);
+               return ERR_NONE;
+       }
+
+       delete it->second;
+       __handle_map.erase(it);
+
+       return ERR_NONE;
+}
diff --git a/src/place/geofence/place_geofence.h b/src/place/geofence/place_geofence.h
new file mode 100644 (file)
index 0000000..9fb8ae8
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_GEOFENCE_H__
+#define __CONTEXT_PLACE_GEOFENCE_H__
+
+#include <map>
+#include <provider_iface.h>
+#include "myplace_handle.h"
+#include "place_geofence_types.h"
+
+namespace ctx {
+
+       class place_geofence_provider : public context_provider_iface {
+               typedef std::map<int, ctx::myplace_handle*> handle_map_t;
+
+       public:
+               static context_provider_iface *create(void *data);
+               static void destroy(void *data);
+               static bool is_supported();
+               static void submit_trigger_item();
+
+               int subscribe(const char *subject, ctx::json option, ctx::json *request_result);
+               int unsubscribe(const char *subject, ctx::json option);
+               int read(const char *subject, ctx::json option, ctx::json *request_result);
+               int write(const char *subject, ctx::json data, ctx::json *request_result);
+
+       private:
+               static place_geofence_provider *__instance;
+               handle_map_t __handle_map;
+
+               place_geofence_provider();
+               ~place_geofence_provider();
+
+               int __subscribe(ctx::json option);
+               int __unsubscribe(ctx::json option);
+               void __destroy_if_unused();
+       };
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_GEOFENCE_H__ */
diff --git a/src/place/geofence/place_geofence_types.h b/src/place/geofence/place_geofence_types.h
new file mode 100644 (file)
index 0000000..b9aa61a
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_GEOFENCE_TYPES__
+#define __CONTEXT_PLACE_GEOFENCE_TYPES__
+
+// Context Items
+#define PLACE_SUBJ_GEOFENCE            "place/geofence"
+
+#define PLACE_PRIV_GEOFENCE            "location"
+
+// Option Keys
+#define PLACE_STATUS_OPT_MYPLACE_ID            "PlaceId"
+
+// Data Keys
+#define PLACE_STATUS_DATA_MYPLACE_ID   "PlaceId"
+#define PLACE_STATUS_DATA_MYPLACE_EVENT        "Event"
+
+// Data Values
+#define        MYPLACE_EVENT_UNCERTAIN "Uncertain"
+#define        MYPLACE_EVENT_IN                "In"
+#define        MYPLACE_EVENT_OUT               "Out"
+
+#endif
diff --git a/src/place/place_context_provider.cpp b/src/place/place_context_provider.cpp
new file mode 100644 (file)
index 0000000..d5adcde
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <types_internal.h>
+#include <context_mgr.h>
+#include <provider_iface.h>
+#include <place_context_provider.h>
+
+#ifdef _MOBILE_
+#include "geofence/place_geofence.h"
+#include "recognition/place_recognition.h"
+#endif
+
+template<typename provider>
+void register_provider(const char *subject, const char *privilege)
+{
+       if (!provider::is_supported())
+               return;
+
+       ctx::context_provider_info provider_info(provider::create, provider::destroy, NULL, privilege);
+       ctx::context_manager::register_provider(subject, provider_info);
+}
+
+EXTAPI bool ctx::init_place_context_provider()
+{
+#ifdef _MOBILE_
+       register_provider<place_geofence_provider>(PLACE_SUBJ_GEOFENCE, PLACE_PRIV_GEOFENCE);
+       place_geofence_provider::submit_trigger_item();
+
+       place_recognition_provider::create(NULL);
+       register_provider<place_recognition_provider>(PLACE_SUBJ_RECOGNITION, PLACE_PRIV_RECOGNITION);
+#endif
+       return true;
+}
diff --git a/src/place/recognition/place_recognition.cpp b/src/place/recognition/place_recognition.cpp
new file mode 100644 (file)
index 0000000..137d3b6
--- /dev/null
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <types_internal.h>
+#include <context_mgr.h>
+#include "place_recognition.h"
+#include "user_places/user_places.h"
+
+ctx::place_recognition_provider *ctx::place_recognition_provider::__instance = NULL;
+
+ctx::context_provider_iface *ctx::place_recognition_provider::create(void *data)
+{
+       IF_FAIL_RETURN(!__instance, __instance);
+       __instance = new(std::nothrow) place_recognition_provider();
+       IF_FAIL_RETURN_TAG(__instance, NULL, _E, "Memory allocation failed");
+       _I(BLUE("Created"));
+       return __instance;
+}
+
+void ctx::place_recognition_provider::destroy(void *data)
+{
+       IF_FAIL_VOID(__instance);
+       delete __instance;
+       __instance = NULL;
+       _I(BLUE("Destroyed"));
+}
+
+int ctx::place_recognition_provider::subscribe(const char *subject, ctx::json option, ctx::json* request_result)
+{
+       return ERR_NOT_SUPPORTED;
+}
+
+int ctx::place_recognition_provider::unsubscribe(const char *subject, ctx::json option)
+{
+       return ERR_NOT_SUPPORTED;
+}
+
+int ctx::place_recognition_provider::read(const char *subject, ctx::json option, ctx::json* request_result)
+{
+       _I(BLUE("Read"));
+       _J("Option", option);
+
+       std::vector<std::shared_ptr<ctx::Place>> places = engine.get_places();
+       json data_read = engine.compose_json(places);
+
+       // The below function needs to be called once.
+       // It does not need to be called within this read() function.
+       // In can be called later, in another scope.
+       // Please just be sure that, the 2nd input parameter "option" should be the same to the
+       // "option" parameter received via ctx::place_recognition_provider::read().
+       ctx::context_manager::reply_to_read(PLACE_SUBJ_RECOGNITION, option, ERR_NONE, data_read);
+
+       return ERR_NONE;
+}
+
+int ctx::place_recognition_provider::write(const char *subject, ctx::json data, ctx::json* request_result)
+{
+       return ERR_NOT_SUPPORTED;
+}
+
+bool ctx::place_recognition_provider::is_supported()
+{
+       return true;
+}
diff --git a/src/place/recognition/place_recognition.h b/src/place/recognition/place_recognition.h
new file mode 100644 (file)
index 0000000..1f870af
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_RECOGNITION_H__
+#define __CONTEXT_PLACE_RECOGNITION_H__
+
+#include <provider_iface.h>
+#include "place_recognition_types.h"
+#include "user_places/user_places.h"
+
+namespace ctx {
+
+       class place_recognition_provider : public context_provider_iface {
+
+       public:
+               static context_provider_iface *create(void *data);
+               static void destroy(void *data);
+               static bool is_supported();
+
+               int subscribe(const char *subject, ctx::json option, ctx::json *request_result);
+               int unsubscribe(const char *subject, ctx::json option);
+               int read(const char *subject, ctx::json option, ctx::json *request_result);
+               int write(const char *subject, ctx::json data, ctx::json *request_result);
+
+       private:
+               static place_recognition_provider *__instance;
+               UserPlaces engine;
+
+               place_recognition_provider() : engine(PLACE_RECOG_HIGH_ACCURACY_MODE) {}
+               ~place_recognition_provider() {}
+
+       };      /* class place_recognition_provider */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_RECOGNITION_H__ */
diff --git a/src/place/recognition/place_recognition_types.h b/src/place/recognition/place_recognition_types.h
new file mode 100644 (file)
index 0000000..f11f946
--- /dev/null
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_RECOGNITION_TYPES__
+#define __CONTEXT_PLACE_RECOGNITION_TYPES__
+
+// Context Items
+#define PLACE_SUBJ_RECOGNITION                 "place/pattern/personal_poi"
+
+#define PLACE_PRIV_RECOGNITION                 "location"
+
+// Database
+#define VISIT_TABLE                            "place_status_user_place_visit"
+#define VISIT_COLUMN_START_TIME                "start_time"
+#define VISIT_COLUMN_END_TIME                  "end_time"
+#define VISIT_COLUMN_WIFI_APS                  "wifi_aps"
+#define VISIT_COLUMN_CATEGORY                  "category"
+#ifdef TIZEN_ENGINEER_MODE
+#define VISIT_COLUMN_START_TIME_HUMAN          "start_time_human" // only for debug: human readable time data:
+#define VISIT_COLUMN_END_TIME_HUMAN            "end_time_human" // only for debug: human readable time data:
+#endif /* TIZEN_ENGINEER_MODE */
+#define VISIT_COLUMN_LOCATION_VALID            "geo_valid"
+#define VISIT_COLUMN_LOCATION_LATITUDE         "geo_latitude"
+#define VISIT_COLUMN_LOCATION_LONGITUDE        "geo_longitude"
+#define VISIT_COLUMN_CATEG_HOME                "categ_home"
+#define VISIT_COLUMN_CATEG_WORK                "categ_work"
+#define VISIT_COLUMN_CATEG_OTHER               "categ_other"
+
+#define PLACE_TABLE                            "place_status_user_place"
+#define PLACE_COLUMN_CATEG_ID                  "type_id" // Name inconsistency: "cated_id" vs "type_id" TODO make it consistent
+#define PLACE_COLUMN_CATEG_CONFIDENCE          "type_confidence"
+#define PLACE_COLUMN_NAME                      "name"
+#define PLACE_COLUMN_LOCATION_VALID            "geo_valid"
+#define PLACE_COLUMN_LOCATION_LATITUDE         "geo_latitude"
+#define PLACE_COLUMN_LOCATION_LONGITUDE        "geo_longitude"
+#define PLACE_COLUMN_WIFI_APS                  "wifi_aps"
+#define PLACE_COLUMN_CREATE_DATE               "create_date"
+
+#define WIFI_TABLE_NAME                        "place_status_user_place_wifi"
+#define WIFI_COLUMN_TIMESTAMP                  "timestamp"
+#define WIFI_COLUMN_BSSID                      "bssid"
+
+#define LOCATION_TABLE_NAME                    "place_status_user_place_location"
+#define LOCATION_COLUMN_LATITUDE               "geo_latitude"
+#define LOCATION_COLUMN_LONGITUDE              "geo_longitude"
+#define LOCATION_COLUMN_ACCURACY               "accuracy"
+#define LOCATION_COLUMN_TIMESTAMP              "timestamp"
+#ifdef TIZEN_ENGINEER_MODE
+#define LOCATION_COLUMN_TIMESTAMP_HUMAN        "time_human" // only for debug: human readable time data:
+#define LOCATION_COLUMN_METHOD                 "method"
+#endif /* TIZEN_ENGINEER_MODE */
+
+// Data Key
+#define DATA_READ                              "PlacesList"
+#define PLACE_CATEG_ID                         "TypeId" // Name inconsistency: "cated_id" vs "type_id" TODO make it consistent
+#define PLACE_CATEG_CONFIDENCE                 "TypeConfidence"
+#define PLACE_NAME                             "Name"
+#define PLACE_GEO_LATITUDE                     "GeoLatitude"
+#define PLACE_GEO_LONGITUDE                    "GeoLongitude"
+#define PLACE_WIFI_APS                         "WifiAPs"
+#define PLACE_CREATE_DATE                      "CreateDate"
+
+// Data values
+typedef enum {
+       PLACE_CATEG_ID_NONE = 0,
+       PLACE_CATEG_ID_HOME = 1,
+       PLACE_CATEG_ID_WORK = 2,
+       PLACE_CATEG_ID_OTHER = 3
+} place_categ_id_e;
+
+typedef enum {
+       PLACE_RECOG_HIGH_ACCURACY_MODE = 0,
+       PLACE_RECOG_LOW_POWER_MODE = 1
+} place_recog_mode_e;
+
+#endif
diff --git a/src/place/recognition/user_places/debug_utils.cpp b/src/place/recognition/user_places/debug_utils.cpp
new file mode 100644 (file)
index 0000000..af7f7fe
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "debug_utils.h"
+#include <types_internal.h>
+
+std::string ctx::DebugUtils::human_readable_date_time(time_t timestamp, std::string format, size_t size, bool utc)
+{
+       struct tm * timeinfo;
+       if (utc) {
+               format += " UTC";
+               size += 4;
+               timeinfo = gmtime(&timestamp);
+       } else {
+               timeinfo = localtime(&timestamp);
+       }
+       char buffer[size];
+       if (timeinfo) {
+               strftime(buffer, size, format.c_str(), timeinfo);
+       } else {
+               snprintf(buffer, size, "NULL");
+       }
+       return std::string(buffer);
+}
diff --git a/src/place/recognition/user_places/debug_utils.h b/src/place/recognition/user_places/debug_utils.h
new file mode 100644 (file)
index 0000000..f399f4a
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_DEBUG_UTILS_H__
+#define __CONTEXT_PLACE_STATUS_DEBUG_UTILS_H__
+
+#include <string>
+#include <ctime>
+
+namespace ctx {
+
+       class DebugUtils {
+
+       public:
+               static std::string human_readable_date_time(time_t timestamp, std::string format, size_t size, bool utc = false);
+
+       };      /* class DebugUtils */
+
+}      /* namespace ctx */
+
+#endif /*__CONTEXT_PLACE_STATUS_DEBUG_UTILS_H__*/
diff --git a/src/place/recognition/user_places/gmap.cpp b/src/place/recognition/user_places/gmap.cpp
new file mode 100644 (file)
index 0000000..6ad114d
--- /dev/null
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "gmap.h"
+#include <iostream>
+#include <fstream>
+
+const std::string ctx::Gmap::html_header = R"(
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta name="viewport" content="initial-scale=1.0, user-scalable=no">
+    <meta charset="utf-8">
+    <title>Simple markers</title>
+    <style>
+      html, body, #map-canvas {
+        height: 100%;
+        margin: 0px;
+        padding: 0px
+      }
+    </style>
+    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true"></script>
+    <script>
+function initialize() {
+  var mapOptions = {
+    zoom: 2,
+    center: new google.maps.LatLng(20,60)
+  }
+  var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
+)";
+
+const std::string ctx::Gmap::html_footer = R"(
+}
+
+google.maps.event.addDomListener(window, 'load', initialize);
+
+    </script>
+  </head>
+  <body>
+    <div id="map-canvas"></div>
+  </body>
+</html>
+)";
+
+std::string ctx::Gmap::icon_for_categ_id(place_categ_id_e categ_id)
+{
+       switch (categ_id) {
+       case PLACE_CATEG_ID_HOME:  return "markerH.png";
+       case PLACE_CATEG_ID_WORK:  return "markerW.png";
+       case PLACE_CATEG_ID_OTHER: return "markerO.png";
+       case PLACE_CATEG_ID_NONE:  return "markerN.png";
+       default: return "markerD.png";
+       }
+}
+
+void ctx::Gmap::place_marker_to_stream(const ctx::Place& place, std::ostream& out)
+{
+       if (place.location_valid) {
+               out << "new google.maps.Marker({" << std::endl;
+               out << "    position: new google.maps.LatLng(" << place.location.latitude << "," << place.location.longitude << ")," << std::endl;
+               out << "    map: map," << std::endl;
+               out << "    icon: \"http://maps.google.com/mapfiles/" << icon_for_categ_id(place.categ_id)<< "\"" << std::endl;
+               out << "});" << std::endl;
+       }
+}
+
+void ctx::Gmap::html_to_stream(const std::vector<std::shared_ptr<ctx::Place>>& places, std::ostream& out)
+{
+       out << html_header;
+       for (std::shared_ptr<ctx::Place> place : places) {
+               place_marker_to_stream(*place, out);
+       }
+       out << html_footer;
+}
+
+void ctx::Gmap::write_map(const std::vector<std::shared_ptr<ctx::Place>>& places)
+{
+       std::ofstream out(GMAP_FILE);
+       html_to_stream(places, out);
+}
diff --git a/src/place/recognition/user_places/gmap.h b/src/place/recognition/user_places/gmap.h
new file mode 100644 (file)
index 0000000..aca182d
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_GMAP_H__
+#define __CONTEXT_PLACE_STATUS_GMAP_H__
+
+#include "user_places_types.h"
+#include "../place_recognition_types.h"
+
+#define GMAP_FILE "/opt/usr/media/Others/user_places_map.html"
+
+namespace ctx {
+
+       /*
+        * Class for generating a HTML page with GoogleMaps with all user places.
+        * This class is for test/demo purposes only. TODO: Remove this class from final solution.
+        */
+       class Gmap {
+
+       private:
+               const static std::string html_header;
+               const static std::string html_footer;
+               static std::string icon_for_categ_id(place_categ_id_e categ_id);
+               static void place_marker_to_stream(const Place& place, std::ostream& out);
+               static void html_to_stream(const std::vector<std::shared_ptr<Place>>& places, std::ostream& out);
+
+       public:
+               static void write_map(const std::vector<std::shared_ptr<Place>>& places);
+
+       };      /* class Gmap */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_VISIT_GMAP_H__ */
diff --git a/src/place/recognition/user_places/graph.cpp b/src/place/recognition/user_places/graph.cpp
new file mode 100644 (file)
index 0000000..e33ca2c
--- /dev/null
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <memory>
+#include <queue>
+#include "graph.h"
+
+std::shared_ptr<ctx::components_t> ctx::connected_components(graph_t &graph)
+{
+       std::shared_ptr<components_t> ccs = std::make_shared<components_t>();
+       std::set<int> fringe;
+
+       for (node_t i = 0; i < static_cast<node_t>(graph.size()); i++) {
+               if (!graph[i]) {
+                       continue;
+               }
+               // neighbourhood of node i exists (was not removed)
+               std::shared_ptr<component_t> c = std::make_shared<component_t>();
+               ccs->push_back(c);
+               fringe.insert(i);
+               while (!fringe.empty()) {
+                       node_t curr_node = *fringe.begin();
+                       fringe.erase(fringe.begin());
+                       c->insert(curr_node);
+
+                       std::shared_ptr<nhood_t> curr_nhood = graph[curr_node];
+                       for (node_t nhood_node : *curr_nhood) {
+                               if (graph[nhood_node] && fringe.find(nhood_node) == fringe.end()) {
+                                       fringe.insert(nhood_node);
+                               }
+                       }
+                       graph[curr_node].reset();  // removing current node
+               }
+       }
+       return ccs;
+}
diff --git a/src/place/recognition/user_places/graph.h b/src/place/recognition/user_places/graph.h
new file mode 100644 (file)
index 0000000..7310e11
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_GRAPH_H__
+#define __CONTEXT_PLACE_STATUS_GRAPH_H__
+
+#include <memory>
+#include <vector>
+#include <set>
+
+namespace ctx {
+
+       typedef int node_t;
+       typedef std::set<node_t> nhood_t; // neighbouring nodes
+       typedef std::vector<std::shared_ptr<nhood_t>> graph_t;
+       typedef std::set<node_t> component_t;
+       typedef std::vector<std::shared_ptr<component_t>> components_t;
+
+       /*
+        * make connected components of a given graph
+        * caution: the graph will be changed (its nodes will be cleared)
+        */
+       std::shared_ptr<components_t> connected_components(graph_t &graph);
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_GRAPH_H__ */
diff --git a/src/place/recognition/user_places/location_listener_iface.h b/src/place/recognition/user_places/location_listener_iface.h
new file mode 100644 (file)
index 0000000..1085030
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_LOCATION_LISTENER_IFACE_H__
+#define __CONTEXT_PLACE_STATUS_LOCATION_LISTENER_IFACE_H__
+
+#include "user_places_types.h"
+
+namespace ctx {
+
+       class ILocationListener {
+
+       public:
+               virtual ~ILocationListener() {};
+               virtual void on_new_location(location_event_s location) = 0;
+
+       };      /* class ILocationListener */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_LOCATION_LISTENER_IFACE_H__ */
diff --git a/src/place/recognition/user_places/location_logger.cpp b/src/place/recognition/user_places/location_logger.cpp
new file mode 100644 (file)
index 0000000..4adc07c
--- /dev/null
@@ -0,0 +1,612 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "location_logger.h"
+#include <types_internal.h>
+#include "../place_recognition_types.h"
+#include <db_mgr.h>
+#include <sstream>
+#include <json.h>
+#include "user_places_params.h"
+#include "debug_utils.h"
+
+#ifdef TIZEN_ENGINEER_MODE
+#define LOCATION_CREATE_TABLE_COLUMNS \
+       LOCATION_COLUMN_LATITUDE " REAL NOT NULL, "\
+       LOCATION_COLUMN_LONGITUDE " REAL NOT NULL, "\
+       LOCATION_COLUMN_ACCURACY " REAL, "\
+       LOCATION_COLUMN_TIMESTAMP " timestamp NOT NULL, "\
+       LOCATION_COLUMN_TIMESTAMP_HUMAN " TEXT, "\
+       LOCATION_COLUMN_METHOD " INTEGER "
+#else /* TIZEN_ENGINEER_MODE */
+#define LOCATION_CREATE_TABLE_COLUMNS \
+       LOCATION_COLUMN_LATITUDE " REAL NOT NULL, "\
+       LOCATION_COLUMN_LONGITUDE " REAL NOT NULL, "\
+       LOCATION_COLUMN_ACCURACY " REAL, "\
+       LOCATION_COLUMN_TIMESTAMP " timestamp NOT NULL "
+#endif /* TIZEN_ENGINEER_MODE */
+
+#define _LOCATION_ERROR_LOG(error) { \
+       if (error != LOCATIONS_ERROR_NONE) { \
+               _E("ERROR == %s", location_error_str(error)); \
+       } else { \
+               _D("SUCCESS"); \
+       } \
+}
+
+void ctx::LocationLogger::location_service_state_changed_cb(location_service_state_e state, void *user_data)
+{
+       ctx::LocationLogger* location_logger_p = (ctx::LocationLogger *)user_data;
+       location_logger_p->location_service_state = state;
+       if (state == LOCATIONS_SERVICE_ENABLED) {
+               _D("LOCATIONS_SERVICE_ENABLED");
+               switch (location_logger_p->timer_purpose) {
+               case LOCATION_LOGGER_WAITING_FOR_SERVICE_START:
+                       _D("Waiting for location service start FINISHED");
+                       location_logger_p->timer_stop();
+                       location_logger_p->location_request();
+                       break;
+               case LOCATION_LOGGER_WAITING_FOR_ACTIVE_REQUEST:
+               case LOCATION_LOGGER_WAITING_FOR_LOCATION_METHOD_SETTING_ON:
+               case LOCATION_LOGGER_WAITING_FOR_ACTIVE_INTERVAL:
+               case LOCATION_LOGGER_WAITING_FOR_PASSIVE_INTERVAL:
+               default:
+                       // Do nothing
+                       break;
+               }
+       } else {
+               _D("LOCATIONS_SERVICE_DISABLED");
+//             location_logger_p->timer_stop();
+       }
+}
+
+void ctx::LocationLogger::location_setting_changed_cb(location_method_e method, bool enable, void *user_data)
+{
+       ctx::LocationLogger* location_logger_p = (ctx::LocationLogger *)user_data;
+       location_logger_p->location_method_state = enable;
+       if (method == location_logger_p->location_method) {
+               if (enable) {
+                       _D("Location method settings ON");
+                       switch (location_logger_p->timer_purpose) {
+                       case LOCATION_LOGGER_WAITING_FOR_LOCATION_METHOD_SETTING_ON:
+                               _D("Waiting for location method settings on FINISHED");
+                               if (location_logger_p->location_service_state == LOCATIONS_SERVICE_ENABLED) {
+                                       location_logger_p->timer_stop();
+                                       location_logger_p->location_request();
+                               } else {
+                                       location_logger_p->manager_start();
+                               }
+                               break;
+                       case LOCATION_LOGGER_WAITING_FOR_SERVICE_START:
+                       case LOCATION_LOGGER_WAITING_FOR_ACTIVE_REQUEST:
+                       case LOCATION_LOGGER_WAITING_FOR_ACTIVE_INTERVAL:
+                       case LOCATION_LOGGER_WAITING_FOR_PASSIVE_INTERVAL:
+                       default:
+                               // Do nothing
+                               break;
+                       }
+               } else {
+                       _D("Location method settings OFF");
+//                     location_logger_p->timer_stop();
+               }
+       }
+}
+
+void ctx::LocationLogger::position_updated_cb(double latitude, double longitude,
+               double altitude, time_t timestamp, void *user_data)
+{
+       _D("");
+       ctx::LocationLogger* location_logger_p = (ctx::LocationLogger *)user_data;
+       double horizontal = location_logger_p->manager_get_horizontal_accuracy();
+#ifdef TIZEN_ENGINEER_MODE
+       ctx::location_event_s location(latitude, longitude, horizontal, timestamp, LOCATION_METHOD_REQUEST);
+#else /* TIZEN_ENGINEER_MODE */
+       ctx::location_event_s location(latitude, longitude, horizontal, timestamp);
+#endif /* TIZEN_ENGINEER_MODE */
+       location_logger_p->broadcast(location);
+       location_logger_p->on_active_request_succeeded();
+}
+
+void ctx::LocationLogger::location_updated_cb(location_error_e error, double latitude, double longitude,
+               double altitude, time_t timestamp, double speed, double direction, double climb, void *user_data)
+{
+       _D("");
+       position_updated_cb(latitude, longitude, altitude, timestamp, user_data);
+}
+
+const char* ctx::LocationLogger::location_error_str(int error)
+{
+       switch (error) {
+       case LOCATIONS_ERROR_NONE:
+               return "LOCATIONS_ERROR_NONE";
+       case LOCATIONS_ERROR_OUT_OF_MEMORY:
+               return "LOCATIONS_ERROR_OUT_OF_MEMORY";
+       case LOCATIONS_ERROR_INVALID_PARAMETER:
+               return "LOCATIONS_ERROR_INVALID_PARAMETER";
+       case LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED:
+               return "LOCATIONS_ERROR_ACCESSIBILITY_NOT_ALLOWED";
+       case LOCATIONS_ERROR_NOT_SUPPORTED:
+               return "LOCATIONS_ERROR_NOT_SUPPORTED";
+       case LOCATIONS_ERROR_INCORRECT_METHOD:
+               return "LOCATIONS_ERROR_INCORRECT_METHOD";
+       case LOCATIONS_ERROR_NETWORK_FAILED:
+               return "LOCATIONS_ERROR_NETWORK_FAILED";
+       case LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE:
+               return "LOCATIONS_ERROR_SERVICE_NOT_AVAILABLE";
+       case LOCATIONS_ERROR_GPS_SETTING_OFF:
+               return "LOCATIONS_ERROR_GPS_SETTING_OFF";
+       case LOCATIONS_ERROR_SECURITY_RESTRICTED:
+               return "LOCATIONS_ERROR_SECURITY_RESTRICTED";
+       default:
+               return "unknown location error code";
+       }
+}
+
+
+void ctx::LocationLogger::log(location_accessibility_state_e state)
+{
+       switch (state) {
+       case LOCATIONS_ACCESS_STATE_NONE : // Access state is not determined
+               _D("LOCATIONS_ACCESS_STATE_NONE ");
+               break;
+       case LOCATIONS_ACCESS_STATE_DENIED: // Access denied
+               _D("LOCATIONS_ACCESS_STATE_DENIED");
+               break;
+       case LOCATIONS_ACCESS_STATE_ALLOWED: // Access authorized
+               _D("LOCATIONS_ACCESS_STATE_ALLOWED");
+               break;
+       default:
+               break;
+       }
+}
+
+int ctx::LocationLogger::create_table()
+{
+       bool ret = db_manager::create_table(0, LOCATION_TABLE_NAME, LOCATION_CREATE_TABLE_COLUMNS, NULL, NULL);
+       _D("%s -> Table Creation Request", ret ? "SUCCESS" : "FAIL");
+       return 0;
+}
+
+int ctx::LocationLogger::db_insert_log(location_event_s location_event)
+{
+       json data;
+       data.set(NULL, LOCATION_COLUMN_LATITUDE, location_event.coordinates.latitude, GEO_LOCATION_PRECISION);
+       data.set(NULL, LOCATION_COLUMN_LONGITUDE, location_event.coordinates.longitude, GEO_LOCATION_PRECISION);
+       data.set(NULL, LOCATION_COLUMN_ACCURACY, location_event.coordinates.accuracy, GEO_LOCATION_PRECISION);
+       data.set(NULL, LOCATION_COLUMN_TIMESTAMP, static_cast<int>(location_event.timestamp));
+#ifdef TIZEN_ENGINEER_MODE
+       std::string time_human = DebugUtils::human_readable_date_time(location_event.timestamp, "%F %T", 80);
+       data.set(NULL, LOCATION_COLUMN_TIMESTAMP_HUMAN, time_human);
+       data.set(NULL, LOCATION_COLUMN_METHOD, static_cast<int>(location_event.method));
+#endif /* TIZEN_ENGINEER_MODE */
+
+       bool ret = ctx::db_manager::insert(0, LOCATION_TABLE_NAME, data);
+       _D("%s -> DB: location table insert result", ret ? "SUCCESS" : "FAIL");
+       return ret;
+}
+
+ctx::LocationLogger::LocationLogger(ILocationListener *listener_, bool test_mode_)
+       : listener(listener_)
+       , test_mode(test_mode_)
+       , active_request_attempts(0)
+       , active_attempts(0)
+       , all_attempts(0)
+       , location_count(0)
+       , active_request_succeeded(false)
+       , active_location_succeeded(false)
+       , timer_purpose(LOCATION_LOGGER_WAITING_FOR_PASSIVE_INTERVAL)
+       , location_service_state(LOCATIONS_SERVICE_DISABLED)
+       , location_method(LOCATION_LOGGER_METHOD)
+       , location_method_state(false)
+{
+       _D("CONSTRUCTOR");
+
+       manager_create();
+
+       if (test_mode) {
+               return;
+       }
+       if (LOCATION_LOGGER_DATABASE) {
+               create_table();
+       }
+
+       manager_set_service_state_changed_cb();
+       manager_set_setting_changed_cb();
+       location_method_state = manager_is_enabled_method(location_method);
+}
+
+ctx::LocationLogger::~LocationLogger()
+{
+       _D("DESTRUCTOR");
+       stop_logging();
+       manager_unset_service_state_changed_cb();
+       manager_unset_setting_changed_cb();
+       manager_destroy();
+}
+
+void ctx::LocationLogger::manager_create()
+{
+       int ret = location_manager_create(location_method, &manager);
+       _LOCATION_ERROR_LOG(ret);
+}
+
+void ctx::LocationLogger::manager_destroy()
+{
+       int ret = location_manager_destroy(manager);
+       _LOCATION_ERROR_LOG(ret);
+}
+
+void ctx::LocationLogger::manager_set_service_state_changed_cb()
+{
+       int ret = location_manager_set_service_state_changed_cb(manager, location_service_state_changed_cb, this);
+       _LOCATION_ERROR_LOG(ret);
+}
+
+void ctx::LocationLogger::manager_unset_service_state_changed_cb()
+{
+       int ret = location_manager_unset_service_state_changed_cb(manager);
+       _LOCATION_ERROR_LOG(ret);
+}
+
+void ctx::LocationLogger::manager_start()
+{
+       int ret = location_manager_start(manager);
+       _LOCATION_ERROR_LOG(ret);
+       start_service_timer_start();
+}
+
+void ctx::LocationLogger::manager_stop()
+{
+       int ret = location_manager_stop(manager);
+       _LOCATION_ERROR_LOG(ret);
+}
+
+double ctx::LocationLogger::manager_get_horizontal_accuracy()
+{
+       location_accuracy_level_e accuracy_level;
+       double horizontal, vertical;
+       int ret = location_manager_get_accuracy(manager, &accuracy_level, &horizontal, &vertical);
+       _LOCATION_ERROR_LOG(ret);
+       return horizontal;
+}
+
+location_accessibility_state_e ctx::LocationLogger::manager_get_accessibility_state()
+{
+       location_accessibility_state_e state;
+       int ret = location_manager_get_accessibility_state(&state);
+       _LOCATION_ERROR_LOG(ret);
+       return state;
+}
+
+void ctx::LocationLogger::manager_set_setting_changed_cb()
+{
+       int ret = location_manager_set_setting_changed_cb(location_method, location_setting_changed_cb, this);
+       _LOCATION_ERROR_LOG(ret);
+}
+
+void ctx::LocationLogger::manager_unset_setting_changed_cb()
+{
+       int ret = location_manager_unset_setting_changed_cb(location_method);
+       _LOCATION_ERROR_LOG(ret);
+}
+
+bool ctx::LocationLogger::manager_request_single_location()
+{
+       int ret = location_manager_request_single_location(manager,
+                       LOCATION_LOGGER_ACTIVE_REQUEST_TIMEOUT_SECONDS, location_updated_cb, this);
+       _D("%s (seconds=%d) ----- ATTEMPTS: REQ[%d/%d], ACT[%d/%d], ALL[%d/%d]; ----- LOCATIONS:[%d/%d]",
+                       ret == LOCATIONS_ERROR_NONE ? "SUCCESS" : "ERROR",
+                       LOCATION_LOGGER_ACTIVE_REQUEST_TIMEOUT_SECONDS,
+                       active_request_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_REQUEST_ATTEMPTS,
+                       active_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_LOCATION_ATTEMPTS,
+                       all_attempts,
+                       LOCATION_LOGGER_MAX_LOCATION_ATTEMPTS,
+                       location_count,
+                       LOCATION_LOGGER_MAX_LOCATION_COUNT);
+       _LOCATION_ERROR_LOG(ret);
+       active_request_attempts++;
+       active_attempts++;
+       all_attempts++;
+       if (ret == LOCATIONS_ERROR_NONE) {
+               active_request_timer_start();
+               return true;
+       } else {
+               return false;
+       }
+}
+
+bool ctx::LocationLogger::manager_get_location()
+{
+       double altitude, latitude, longitude, climb, direction, speed, horizontal, vertical;
+       location_accuracy_level_e level;
+       time_t timestamp;
+       int ret = location_manager_get_location(manager, &altitude, &latitude, &longitude,
+                       &climb, &direction, &speed, &level, &horizontal, &vertical, &timestamp);
+       _D("%s ----- ATTEMPTS: REQ[%d/%d], ACT[%d/%d], ALL[%d/%d]; ----- LOCATIONS:[%d/%d]",
+                       ret == LOCATIONS_ERROR_NONE ? "SUCCESS" : "ERROR",
+                       active_request_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_REQUEST_ATTEMPTS,
+                       active_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_LOCATION_ATTEMPTS,
+                       all_attempts,
+                       LOCATION_LOGGER_MAX_LOCATION_ATTEMPTS,
+                       location_count,
+                       LOCATION_LOGGER_MAX_LOCATION_COUNT);
+       _LOCATION_ERROR_LOG(ret);
+       active_attempts++;
+       all_attempts++;
+       if (ret == LOCATIONS_ERROR_NONE) {
+#ifdef TIZEN_ENGINEER_MODE
+               ctx::location_event_s location(latitude, longitude, horizontal, timestamp, LOCATION_METHOD_GET_LOCATION);
+#else /* TIZEN_ENGINEER_MODE */
+               ctx::location_event_s location(latitude, longitude, horizontal, timestamp);
+#endif /* TIZEN_ENGINEER_MODE */
+               broadcast(location);
+               on_active_location_succeeded();
+               return true;
+       } else {
+               return false;
+       }
+}
+
+void ctx::LocationLogger::manager_get_last_location()
+{
+       double altitude, latitude, longitude, climb, direction, speed, horizontal, vertical;
+       location_accuracy_level_e level;
+       time_t timestamp;
+       int ret = location_manager_get_last_location(manager, &altitude, &latitude, &longitude,
+                       &climb, &direction, &speed, &level, &horizontal, &vertical, &timestamp);
+       _D("%s ----- ATTEMPTS: REQ[%d/%d], ACT[%d/%d], ALL[%d/%d]; ----- LOCATIONS:[%d/%d]",
+                       ret == LOCATIONS_ERROR_NONE ? "SUCCESS" : "ERROR",
+                       active_request_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_REQUEST_ATTEMPTS,
+                       active_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_LOCATION_ATTEMPTS,
+                       all_attempts,
+                       LOCATION_LOGGER_MAX_LOCATION_ATTEMPTS,
+                       location_count,
+                       LOCATION_LOGGER_MAX_LOCATION_COUNT);
+       _LOCATION_ERROR_LOG(ret);
+       all_attempts++;
+       if (ret == LOCATIONS_ERROR_NONE) {
+#ifdef TIZEN_ENGINEER_MODE
+               ctx::location_event_s location(latitude, longitude, horizontal, timestamp, LOCATION_METHOD_GET_LAST_LOCATION);
+#else /* TIZEN_ENGINEER_MODE */
+               ctx::location_event_s location(latitude, longitude, horizontal, timestamp);
+#endif /* TIZEN_ENGINEER_MODE */
+               broadcast(location);
+       }
+}
+
+bool ctx::LocationLogger::manager_is_enabled_method(location_method_e method)
+{
+       bool enable;
+       int ret = location_manager_is_enabled_method(method, &enable);
+       _LOCATION_ERROR_LOG(ret);
+       return enable;
+}
+
+bool ctx::LocationLogger::check_general_limits()
+{
+       return (location_count < LOCATION_LOGGER_MAX_LOCATION_COUNT
+                       && all_attempts < LOCATION_LOGGER_MAX_LOCATION_ATTEMPTS);
+}
+
+bool ctx::LocationLogger::check_active_limits()
+{
+       return (!active_location_succeeded
+                       && active_attempts < LOCATION_LOGGER_MAX_ACTIVE_LOCATION_ATTEMPTS);
+}
+
+bool ctx::LocationLogger::check_active_request_limits()
+{
+       return (!active_request_succeeded
+                       && active_request_attempts < LOCATION_LOGGER_MAX_ACTIVE_REQUEST_ATTEMPTS);
+}
+
+void ctx::LocationLogger::location_request()
+{
+       _D("");
+       bool request_single_location_ret = false;
+       bool get_location_ret = false;
+       if (check_general_limits() && check_active_limits() && check_active_request_limits()) {
+               request_single_location_ret = manager_request_single_location();
+       }
+       if (check_general_limits() && check_active_limits() && !request_single_location_ret) {
+               get_location_ret = manager_get_location();
+       }
+       if (check_general_limits() && !request_single_location_ret && !get_location_ret
+                       && active_attempts >= LOCATION_LOGGER_MAX_ACTIVE_LOCATION_ATTEMPTS) {
+               manager_get_last_location();
+       }
+       if (!request_single_location_ret) {
+               manager_stop();
+               set_next_timer();
+       }
+}
+
+void ctx::LocationLogger::set_next_timer()
+{
+       _D("ATTEMPTS: REQ[%d/%d], ACT[%d/%d], ALL[%d/%d]; ----- LOCATIONS:[%d/%d])",
+                       active_request_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_REQUEST_ATTEMPTS,
+                       active_attempts,
+                       LOCATION_LOGGER_MAX_ACTIVE_LOCATION_ATTEMPTS,
+                       all_attempts,
+                       LOCATION_LOGGER_MAX_LOCATION_ATTEMPTS,
+                       location_count,
+                       LOCATION_LOGGER_MAX_LOCATION_COUNT);
+       if (check_general_limits()) {
+               if (check_active_limits()) {
+                       active_interval_timer_start();
+               } else {
+                       passive_interval_timer_start();
+               }
+       }
+}
+
+void ctx::LocationLogger::on_active_request_succeeded()
+{
+       _D("");
+       manager_stop();
+       active_request_succeeded = true;
+       on_active_location_succeeded();
+}
+
+void ctx::LocationLogger::on_active_location_succeeded()
+{
+       _D("");
+       active_location_succeeded = true;
+}
+
+void ctx::LocationLogger::broadcast(ctx::location_event_s location_event)
+{
+       _D("");
+       location_count++;
+       if (listener) {
+               listener->on_new_location(location_event);
+       }
+       if (LOCATION_LOGGER_DATABASE) {
+               db_insert_log(location_event);
+       }
+}
+
+bool ctx::LocationLogger::on_timer_expired(int id, void* user_data)
+{
+       time_t now = time(nullptr);
+       double seconds = difftime(now, timer_timestamp);
+
+       switch (timer_purpose) {
+       case LOCATION_LOGGER_WAITING_FOR_ACTIVE_REQUEST:
+               _D("Active request FAILED, timer_id = %d[%d], from start = %.1fs", id, timer_id, seconds);
+               manager_stop();
+               set_next_timer();
+               return false;
+       case LOCATION_LOGGER_WAITING_FOR_SERVICE_START:
+               _D("Service start in timeout time FAILED, timer_id = %d[%d], from start = %.1fs", id, timer_id, seconds);
+               // Waiting for service start FAILURE is also some kind of active request attempt
+               active_request_attempts++;
+               active_attempts++;
+               all_attempts++;
+               manager_stop();
+               set_next_timer();
+               return false;
+       case LOCATION_LOGGER_WAITING_FOR_LOCATION_METHOD_SETTING_ON:
+               _D("Still waiting for Location method settings on, timer_id = %d[%d], from start = %.1fs", id, timer_id, seconds);
+               // Do nothing
+               return false;
+       case LOCATION_LOGGER_WAITING_FOR_ACTIVE_INTERVAL:
+               _D("Active interval time expired, timer_id = %d[%d], from start = %.1fs", id, timer_id, seconds);
+               break;
+       case LOCATION_LOGGER_WAITING_FOR_PASSIVE_INTERVAL:
+               _D("Passive interval time expired, timer_id = %d[%d], from start = %.1fs", id, timer_id, seconds);
+               break;
+       default:
+               _D("Do nothing, timer_id = %d[%d], from start = %.1fs", id, timer_id, seconds);
+               return false;
+       }
+       if (location_method_state) {
+               manager_start();
+       } else {
+               timer_purpose = LOCATION_LOGGER_WAITING_FOR_LOCATION_METHOD_SETTING_ON;
+               _D("LOCATION_LOGGER_WAITING_FOR_LOCATION_METHOD_SETTING_ON");
+       }
+       return false;
+}
+
+void ctx::LocationLogger::active_request_timer_start()
+{
+       int minutes = LOCATION_LOGGER_ACTIVE_REQUEST_TIMEOUT_SECONDS / 60;
+       if (LOCATION_LOGGER_ACTIVE_REQUEST_TIMEOUT_SECONDS % 60) {
+               minutes++;
+       }
+       timer_purpose = LOCATION_LOGGER_WAITING_FOR_ACTIVE_REQUEST;
+       _D("LOCATION_LOGGER_WAITING_FOR_ACTIVE_REQUEST (minutes=%d)", minutes);
+       timer_start(minutes);
+}
+
+void ctx::LocationLogger::start_service_timer_start()
+{
+       timer_purpose = LOCATION_LOGGER_WAITING_FOR_SERVICE_START;
+       _D("LOCATION_LOGGER_WAITING_FOR_SERVICE_START");
+       timer_start(LOCATION_LOGGER_SERVICE_START_TIMEOUT_MINUTES);
+}
+
+void ctx::LocationLogger::active_interval_timer_start()
+{
+       timer_purpose = LOCATION_LOGGER_WAITING_FOR_ACTIVE_INTERVAL;
+       _D("LOCATION_LOGGER_WAITING_FOR_ACTIVE_INTERVAL");
+       timer_start(LOCATION_LOGGER_ACTIVE_INTERVAL_MINUTES);
+}
+
+void ctx::LocationLogger::passive_interval_timer_start()
+{
+       timer_purpose = LOCATION_LOGGER_WAITING_FOR_PASSIVE_INTERVAL;
+       _D("LOCATION_LOGGER_WAITING_FOR_PASSIVE_INTERVAL");
+       timer_start(LOCATION_LOGGER_PASSIVE_INTERVAL_MINUTES);
+}
+
+void ctx::LocationLogger::timer_start(time_t minutes)
+{
+       timer_timestamp = time(nullptr);
+       timer_id = timer_manager::set_for(minutes, this, NULL);
+       _D("%s (minutes=%d) timer_id = %d", timer_id >= 0 ? "SUCCESS" : "ERROR", minutes, timer_id);
+}
+
+void ctx::LocationLogger::timer_stop()
+{
+       _D("");
+       timer_manager::remove(timer_id);
+}
+
+void ctx::LocationLogger::start_logging()
+{
+       _D("");
+       active_request_attempts = 0;
+       active_attempts = 0;
+       all_attempts = 0;
+       location_count = 0;
+       active_request_succeeded = false;;
+       active_location_succeeded = false;
+       manager_start();
+}
+
+void ctx::LocationLogger::stop_logging()
+{
+       _D("");
+       timer_stop();
+       manager_stop();
+}
+
+void ctx::LocationLogger::on_visit_start()
+{
+       _D("");
+       if (!test_mode) {
+               start_logging();
+       }
+}
+
+void ctx::LocationLogger::on_visit_end()
+{
+       _D("");
+       if (!test_mode) {
+               stop_logging();
+       }
+}
+
+#undef _LOCATION_ERROR_LOG
diff --git a/src/place/recognition/user_places/location_logger.h b/src/place/recognition/user_places/location_logger.h
new file mode 100644 (file)
index 0000000..21bcec6
--- /dev/null
@@ -0,0 +1,165 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_LOCATION_LOGGER_H__
+#define __CONTEXT_PLACE_STATUS_LOCATION_LOGGER_H__
+
+#include <timer_listener_iface.h>
+#include <locations.h>
+#include "timer_mgr.h"
+#include "visit_listener_iface.h"
+#include "location_listener_iface.h"
+
+/* Database usage flag */
+#define LOCATION_LOGGER_DATABASE false // TODO: false in final solution
+
+/* Locations measure method */
+#define LOCATION_LOGGER_METHOD LOCATIONS_METHOD_HYBRID
+
+/* TIMEOUTS: Location active measure request timeout (in seconds). */
+#define LOCATION_LOGGER_ACTIVE_REQUEST_TIMEOUT_SECONDS 100
+
+/* TIMEOUTS: Location service start timeout (in minutes). */
+#define LOCATION_LOGGER_SERVICE_START_TIMEOUT_MINUTES 2
+
+/* FREQUENCIES/INTERVALS: "Active" measure attempts frequency (in minutes) */
+#define LOCATION_LOGGER_ACTIVE_INTERVAL_MINUTES 5
+
+/* FREQUENCIES/INTERVALS: "Passive" measure attempts frequency (in minutes) */
+#define LOCATION_LOGGER_PASSIVE_INTERVAL_MINUTES 30
+
+/* ATTEMTS LIMITS: "Active" request attempts limit (must be <= than active location attempts) */
+#define LOCATION_LOGGER_MAX_ACTIVE_REQUEST_ATTEMPTS 0
+
+/* ATTEMTS LIMITS: "Active" measures attempts limit (must be <= than all attempts limit) */
+#define LOCATION_LOGGER_MAX_ACTIVE_LOCATION_ATTEMPTS 2
+
+/* ATTEMTS LIMITS: All attempts ("active" + "passive") limit */
+#define LOCATION_LOGGER_MAX_LOCATION_ATTEMPTS 3
+
+/* LOCATION LIMIT: Location count limit per visit */
+#define LOCATION_LOGGER_MAX_LOCATION_COUNT 3
+
+namespace ctx {
+
+       typedef enum {
+               LOCATION_LOGGER_WAITING_FOR_ACTIVE_REQUEST = 0,
+               LOCATION_LOGGER_WAITING_FOR_SERVICE_START = 1,
+               LOCATION_LOGGER_WAITING_FOR_LOCATION_METHOD_SETTING_ON = 2,
+               LOCATION_LOGGER_WAITING_FOR_ACTIVE_INTERVAL = 3,
+               LOCATION_LOGGER_WAITING_FOR_PASSIVE_INTERVAL = 4
+       } timer_purpose_e;
+
+       class LocationLogger : public timer_listener_iface, public IVisitListener {
+
+       public:
+               LocationLogger(ILocationListener *listener_ = nullptr,
+                               bool test_mode_ = false);
+               ~LocationLogger();
+
+               /* INPUT */
+               void on_visit_start();
+               void on_visit_end();
+
+       private:
+               /* OUTPUT */
+               ILocationListener * const listener;
+               void broadcast(location_event_s location_event);
+
+               /* INTERNAL */
+               bool test_mode;
+               void start_logging();
+               void stop_logging();
+               void location_request();
+               void on_active_request_succeeded();
+               void on_active_location_succeeded();
+
+               /* INTERNAL : COUNTERS (LIMITS) */
+               int active_request_attempts;
+               int active_attempts;
+               int all_attempts;
+               int location_count;
+               bool check_general_limits();
+               bool check_active_limits();
+               bool check_active_request_limits();
+
+               /* INTERNAL : FLAGS */
+               bool active_request_succeeded;
+               bool active_location_succeeded;
+
+               /* TIMER */
+               int timer_id;
+               time_t timer_timestamp;
+               timer_purpose_e timer_purpose;
+               void set_next_timer();
+               void active_request_timer_start();
+               void start_service_timer_start();
+               void active_interval_timer_start();
+               void passive_interval_timer_start();
+               void timer_start(time_t minutes);
+               void timer_stop();
+               bool on_timer_expired(int timer_id, void* user_data);
+
+               /* DATABASE */
+               static int create_table();
+               int db_insert_log(location_event_s location_event);
+
+               /* DEBUG */
+               static const char* location_error_str(int error);
+               static void log(location_accessibility_state_e state);
+
+               /* LOCATION MANAGER */
+               location_manager_h manager;
+               void manager_create();
+               void manager_destroy();
+               void manager_start();
+               void manager_stop();
+               location_accessibility_state_e manager_get_accessibility_state();
+
+               /* LOCATION MANAGER : LOCATION SERVICE STATE */
+               location_service_state_e location_service_state;
+               static void location_service_state_changed_cb(location_service_state_e state, void *user_data);
+               void manager_set_service_state_changed_cb();
+               void manager_unset_service_state_changed_cb();
+
+               /* LOCATION MANAGER : LOCATION METHOD SETTINGS */
+               location_method_e location_method;
+               bool location_method_state;
+               bool manager_is_enabled_method(location_method_e method);
+               static void location_setting_changed_cb(location_method_e method, bool enable, void *user_data);
+               void manager_set_setting_changed_cb();
+               void manager_unset_setting_changed_cb();
+
+               /* LOCATION MANAGER : LOCATION */
+
+               /* LOCATION MANAGER : LOCATION : SYNCHRONOUS */
+               bool manager_get_location();
+               void manager_get_last_location();
+               double manager_get_horizontal_accuracy();
+
+               /* LOCATION MANAGER : LOCATION : ASYNCHRONOUS */
+               static void position_updated_cb(double latitude, double longitude,
+                               double altitude, time_t timestamp, void *user_data);
+               static void location_updated_cb(location_error_e error, double latitude,
+                               double longitude, double altitude, time_t timestamp, double speed,
+                               double direction, double climb, void *user_data);
+               bool manager_request_single_location();
+
+       };      /* class LocationLogger */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_LOCATION_LOGGER_H__ */
diff --git a/src/place/recognition/user_places/mahal.cpp b/src/place/recognition/user_places/mahal.cpp
new file mode 100644 (file)
index 0000000..3e283d1
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "mahal.h"
+#include <math.h>
+#include <types_internal.h>
+
+ctx::num_t ctx::MahalModel::dist_s(const std::vector<num_t> &v1, const std::vector<num_t> &v2, const std::vector<num_t> &m)
+{
+       size_t n = v1.size();
+       if (m.size() != n * n) {
+               _E("m.size() != n * n");
+               return 0.0; // this value does not make any sense
+       }
+
+       std::vector<num_t> diff(n);
+       for (size_t i = 0; i < n; i++) {
+               diff[i] = v2[i] - v1[i];
+       }
+
+       num_t dist2 = 0; // squared distance
+       for (size_t j = 0; j < n; j++) {
+               for (size_t i = 0; i < n; i++) {
+                       dist2 += m[i * n + j] * diff[i] * diff[j];
+               }
+       }
+       return sqrt(dist2);
+}
+
+ctx::num_t ctx::MahalModel::dist(const std::vector<ctx::num_t> &v)
+{
+       return dist_s(v, mean, sigma);
+}
diff --git a/src/place/recognition/user_places/mahal.h b/src/place/recognition/user_places/mahal.h
new file mode 100644 (file)
index 0000000..b70ac70
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_MAHAL_H__
+#define __CONTEXT_PLACE_STATUS_MAHAL_H__
+
+#include <vector>
+#include "user_places_types.h"
+
+namespace ctx {
+
+       /*
+        * Class for Mahalanobis distance computation.
+        */
+       class MahalModel {
+
+       private:
+               std::vector<num_t> mean;
+               std::vector<num_t> sigma; // represents square matrix row-wise
+
+       public:
+               static num_t dist_s(const std::vector<num_t> &v1, const std::vector<num_t> &v2, const std::vector<num_t> &m);
+               MahalModel(std::vector<num_t> mean_, std::vector<num_t> sigma_) : mean(mean_), sigma(sigma_) { }
+               num_t dist(const std::vector<num_t> &v);
+
+       };      /* class MahalModel */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_MAHAL_H__ */
diff --git a/src/place/recognition/user_places/median.cpp b/src/place/recognition/user_places/median.cpp
new file mode 100644 (file)
index 0000000..557c294
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <algorithm>
+#include <types_internal.h>
+#include "median.h"
+
+ctx::num_t ctx::median(std::vector<ctx::num_t> &v)
+{
+       if (v.empty()) {
+               _E("Median of empty set");
+               return 0; // this value does not make any sense
+       }
+       size_t n = v.size() / 2;
+       std::nth_element(v.begin(), v.begin() + n, v.end());
+       num_t vn = v[n];
+       if (v.size() % 2 == 1) {
+               return vn;
+       } else {
+               std::nth_element(v.begin(), v.begin() + n - 1, v.end());
+               return 0.5 * (vn + v[n - 1]);
+       }
+}
diff --git a/src/place/recognition/user_places/median.h b/src/place/recognition/user_places/median.h
new file mode 100644 (file)
index 0000000..c6612dc
--- /dev/null
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_MEDIAN__
+#define __CONTEXT_PLACE_STATUS_MEDIAN__
+
+#include "user_places_types.h"
+#include <vector>
+#include "../place_recognition_types.h"
+
+namespace ctx {
+
+       num_t median(std::vector<num_t> &values); // caution: the input vector will be sorted
+
+} /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_MEDIAN__ */
diff --git a/src/place/recognition/user_places/piecewise_lin.cpp b/src/place/recognition/user_places/piecewise_lin.cpp
new file mode 100644 (file)
index 0000000..f22d37c
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "piecewise_lin.h"
+#include <types_internal.h>
+
+ctx::PiecewiseLin::PiecewiseLin(std::vector<num_t> _xs, std::vector<num_t> _vs)
+{
+       if (_xs.size() != _vs.size()) {
+               _E("Input arguments have different sizes");
+               return;
+       }
+       xs = _xs;
+       vs = _vs;
+       n = xs.size();
+}
+
+ctx::num_t ctx::PiecewiseLin::val(num_t x)
+{
+       if (x <= xs[0]) {
+               return vs[0];
+       } else if (x >= xs[n-1]) {
+               return vs[n - 1];
+       } else {
+               num_t xp = xs[0];
+               for (size_t i = 1; i < n; i++) {
+                       num_t xn = xs[i];
+                       if (x <= xn) {
+                               num_t d = xn - xp;
+                               num_t dxp = x - xp;
+                               num_t dxn = xn - x;
+                               return (dxn * vs[i-1] + dxp * vs[i]) / d;
+                       }
+                       xp = xn;
+               }
+       }
+       _E("Function should return result earlier");
+       return 0.0; // this value does not make any sense
+}
diff --git a/src/place/recognition/user_places/piecewise_lin.h b/src/place/recognition/user_places/piecewise_lin.h
new file mode 100644 (file)
index 0000000..275449c
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_PIECEWISE_LIN__
+#define __CONTEXT_PLACE_STATUS_PIECEWISE_LIN__
+
+#include "user_places_types.h"
+
+namespace ctx {
+
+       /*
+        * Piecewise linear function. Used for approximation.
+        */
+       class PiecewiseLin {
+
+       private:
+               std::vector<num_t> xs; // nodes
+               std::vector<num_t> vs; // values in nodes
+               size_t n;
+
+       public:
+               PiecewiseLin(std::vector<num_t> _xs, std::vector<num_t> _vs);
+               num_t val(num_t x);
+
+       };      /* PiecewiseLin */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_PIECEWISE_LIN__ */
diff --git a/src/place/recognition/user_places/place_categer.cpp b/src/place/recognition/user_places/place_categer.cpp
new file mode 100644 (file)
index 0000000..b1656e3
--- /dev/null
@@ -0,0 +1,108 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "place_categer.h"
+#include "median.h"
+#include "../place_recognition_types.h"
+#include "user_places_params.h"
+#include "user_places_types.h"
+#include <algorithm>
+#include <types_internal.h>
+
+void ctx::PlaceCateger::reduce_outliers(ctx::visits_t &visits)
+{
+       int size = visits.size();
+       visits.erase(std::remove_if(
+                                       visits.begin(),
+                                       visits.end(),
+                                       [](visit_s v) {
+                                               return v.categs[PLACE_CATEG_ID_HOME] < PLACES_CATEGER_MIN_VISITS_SCORE
+                                                               && v.categs[PLACE_CATEG_ID_WORK] < PLACES_CATEGER_MIN_VISITS_SCORE
+                                                               && v.categs[PLACE_CATEG_ID_OTHER] < PLACES_CATEGER_MIN_VISITS_SCORE;
+                                       }),
+                               visits.end());
+       int new_size = visits.size();
+       if (size != new_size) {
+               _D("Visits number from %d to %d (visits min scores checking)", size, new_size);
+       }
+}
+
+/*
+ * Change category if home or work has to few visits
+ */
+bool ctx::PlaceCateger::reduce_category(const place_categ_id_e &categ, const ctx::visits_t &visits)
+{
+       return (categ == PLACE_CATEG_ID_HOME && visits.size() < PLACES_CATEGER_MIN_VISITS_PER_HOME)
+               || (categ == PLACE_CATEG_ID_WORK && visits.size() < PLACES_CATEGER_MIN_VISITS_PER_WORK);
+}
+
+void ctx::PlaceCateger::categorize(ctx::visits_t &visits, ctx::Place &place)
+{
+       reduce_outliers(visits);
+
+       place.categ_id = PLACE_CATEG_ID_NONE;
+       place.categ_confidence = 0.0;
+
+       if (!visits.empty()) {
+               const std::vector<place_categ_id_e> categ_ids = {
+                       PLACE_CATEG_ID_HOME,
+                       PLACE_CATEG_ID_WORK,
+                       PLACE_CATEG_ID_OTHER
+               };
+               num_t sum_score = 0.0;
+               num_t max_score = 0.0;
+               for (place_categ_id_e categ_id : categ_ids) {
+                       std::vector<num_t> categ_vector = categ_vector_from_visits(visits, categ_id);
+                       num_t score = median(categ_vector);
+                       sum_score += score;
+                       if (score > max_score) {
+                               max_score = score;
+                               place.categ_id = categ_id;
+                       }
+               }
+               if (sum_score > 0) {
+                       place.categ_confidence = max_score / sum_score;
+               }
+               if (reduce_category(place.categ_id, visits)) {
+                       place.categ_id = PLACE_CATEG_ID_OTHER;
+                       place.categ_confidence = 0.0;
+               }
+       }
+
+       place.name = categ_id_to_name(place.categ_id);
+}
+
+std::vector<ctx::num_t> ctx::PlaceCateger::categ_vector_from_visits(const ctx::visits_t &visits, place_categ_id_e categ_id)
+{
+       std::vector<ctx::num_t> vec;
+       for (auto &visit : visits) {
+               auto search = visit.categs.find(categ_id);
+               if (search != visit.categs.end()) {
+                       vec.push_back(search->second);
+               }
+       }
+       return vec;
+}
+
+std::string ctx::PlaceCateger::categ_id_to_name(place_categ_id_e categ_id) {
+       switch (categ_id) {
+       case PLACE_CATEG_ID_HOME:  return "home";
+       case PLACE_CATEG_ID_WORK:  return "work";
+       case PLACE_CATEG_ID_OTHER: return "other";
+       case PLACE_CATEG_ID_NONE:  return "none";
+       default: return "";
+       }
+}
diff --git a/src/place/recognition/user_places/place_categer.h b/src/place/recognition/user_places/place_categer.h
new file mode 100644 (file)
index 0000000..cbab192
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_PLACE_CATEGER__
+#define __CONTEXT_PLACE_STATUS_PLACE_CATEGER__
+
+#include "user_places_types.h"
+#include <utility>
+#include <vector>
+#include <string>
+#include "../place_recognition_types.h"
+
+namespace ctx {
+
+       class PlaceCateger {
+
+       private:
+               static bool reduce_category(const place_categ_id_e &categ, const ctx::visits_t &visits);
+
+       public:
+               static void reduce_outliers(visits_t &visits);
+               static std::vector<ctx::num_t> categ_vector_from_visits(const ctx::visits_t &visits, place_categ_id_e categ_id);
+               static void categorize(ctx::visits_t &visits, ctx::Place &place);
+               static std::string categ_id_to_name(place_categ_id_e categ_id);
+
+       };      /* class PlaceCateger */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_PLACE_CATEGER__ */
diff --git a/src/place/recognition/user_places/places_detector.cpp b/src/place/recognition/user_places/places_detector.cpp
new file mode 100644 (file)
index 0000000..974fd7b
--- /dev/null
@@ -0,0 +1,458 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <sstream>
+#include <types_internal.h>
+#include <db_mgr.h>
+#include <json.h>
+#include "similar.h"
+#include "places_detector.h"
+#include "place_categer.h"
+#include "graph.h"
+#include "median.h"
+#ifdef TIZEN_ENGINEER_MODE
+#include "gmap.h"
+#endif /* TIZEN_ENGINEER_MODE */
+#include "../place_recognition_types.h"
+#include <fstream>
+#include <algorithm>
+#include "user_places_params.h"
+
+#define DELETE_PLACES_QUERY "DELETE FROM " PLACE_TABLE
+
+#ifdef TIZEN_ENGINEER_MODE
+#define USER_PLACES_FILE "/opt/usr/media/Others/user_places.txt" // TODO: Only for debug purposes -> Remove in final solution
+#endif /* TIZEN_ENGINEER_MODE */
+
+#define GET_VISITS_QUERY "SELECT "\
+       VISIT_COLUMN_END_TIME ", "\
+       VISIT_COLUMN_START_TIME ", "\
+       VISIT_COLUMN_WIFI_APS ", "\
+       VISIT_COLUMN_LOCATION_VALID ", "\
+       VISIT_COLUMN_LOCATION_LATITUDE ", "\
+       VISIT_COLUMN_LOCATION_LONGITUDE ", " \
+       VISIT_COLUMN_CATEG_HOME ", "\
+       VISIT_COLUMN_CATEG_WORK ", "\
+       VISIT_COLUMN_CATEG_OTHER \
+       " FROM " VISIT_TABLE
+
+#define GET_PLACES_QUERY "SELECT "\
+       PLACE_COLUMN_CATEG_ID ", "\
+       PLACE_COLUMN_CATEG_CONFIDENCE ", "\
+       PLACE_COLUMN_NAME ", "\
+       PLACE_COLUMN_LOCATION_VALID ", "\
+       PLACE_COLUMN_LOCATION_LATITUDE ", "\
+       PLACE_COLUMN_LOCATION_LONGITUDE ", " \
+       PLACE_COLUMN_WIFI_APS ", "\
+       PLACE_COLUMN_CREATE_DATE \
+       " FROM " PLACE_TABLE
+
+#define PLACE_TABLE_COLUMNS \
+       PLACE_COLUMN_CATEG_ID " INTEGER, "\
+       PLACE_COLUMN_CATEG_CONFIDENCE " REAL, "\
+       PLACE_COLUMN_NAME " TEXT, "\
+       PLACE_COLUMN_LOCATION_VALID " INTEGER, "\
+       PLACE_COLUMN_LOCATION_LATITUDE " REAL, "\
+       PLACE_COLUMN_LOCATION_LONGITUDE " REAL, "\
+       PLACE_COLUMN_WIFI_APS " STRING, "\
+       PLACE_COLUMN_CREATE_DATE " timestamp"
+
+bool ctx::PlacesDetector::on_timer_expired(int timer_id, void* user_data)
+{
+       _D("");
+       db_delete_places();
+       return true;
+}
+
+void ctx::PlacesDetector::on_query_result_received(unsigned int query_id, int error, std::vector<json>& records)
+{
+       // TODO:
+       // The below "state machine" approach was choosen because it is not possible to use synchronized database queries in the main thread.
+       // Probably the more elegant approach would be to use event_driven_thread class where synchronized queries are allowed.
+       // Consider refactoring.
+       if (error != ERR_NONE) {
+               _E("on_query_result_received query_id:%d, error:%d", query_id, error);
+       }
+       else if (query_id == PLACES_DETECTOR_QUERY_ID_DELETE_PLACES) {
+               db_delete_old_visits();
+       }
+       else if (query_id == PLACES_DETECTOR_QUERY_ID_DELETE_OLD_VISITS) {
+               db_get_visits();
+       }
+       else if (query_id == PLACES_DETECTOR_QUERY_ID_GET_VISITS) {
+               visits_t visits = visits_from_jsons(records);
+               process_visits(visits);
+       }
+       else if (query_id == PLACES_DETECTOR_QUERY_ID_INSERT_VISIT) {
+               // Don't do anything. It is fine.
+       }
+       else if (query_id == PLACES_DETECTOR_QUERY_ID_INSERT_PLACE) {
+               // Don't do anything. It is fine.
+       }
+       else if (query_id == PLACES_DETECTOR_QUERY_ID_GET_PLACES) {
+               std::vector<std::shared_ptr<Place>> db_places = places_from_jsons(records);
+               detected_places_update(db_places);
+       }
+       else {
+               _E("on_query_result_received unknown query_id:%d", query_id);
+       }
+}
+
+void ctx::PlacesDetector::db_get_visits()
+{
+       bool ret = db_manager::execute(PLACES_DETECTOR_QUERY_ID_GET_VISITS, GET_VISITS_QUERY, this);
+       _D("load visits execute query result: %s", ret ? "SUCCESS" : "FAIL");
+}
+
+void ctx::PlacesDetector::db_get_places()
+{
+       bool ret = db_manager::execute(PLACES_DETECTOR_QUERY_ID_GET_PLACES, GET_PLACES_QUERY, this);
+       _D("load places execute query result: %s", ret ? "SUCCESS" : "FAIL");
+}
+
+double ctx::PlacesDetector::double_value_from_json(json &row, const char* key)
+{
+       double value;
+       row.get(NULL, key, &value);
+       _D("double_value_from_json, key:%s, value: %lf", key, value);
+       return value;
+}
+
+ctx::categs_t ctx::PlacesDetector::visit_categs_from_json(json &row)
+{
+       categs_t categs;
+       categs[PLACE_CATEG_ID_HOME] = double_value_from_json(row, VISIT_COLUMN_CATEG_HOME);
+       categs[PLACE_CATEG_ID_WORK] = double_value_from_json(row, VISIT_COLUMN_CATEG_WORK);
+       categs[PLACE_CATEG_ID_OTHER] = double_value_from_json(row, VISIT_COLUMN_CATEG_OTHER);
+       return categs;
+}
+
+ctx::visit_s ctx::PlacesDetector::visit_from_json(json &row)
+{
+       int start_time;
+       int end_time;
+       std::string mac_set_string;
+       row.get(NULL, VISIT_COLUMN_START_TIME, &start_time);
+       row.get(NULL, VISIT_COLUMN_END_TIME, &end_time);
+       row.get(NULL, VISIT_COLUMN_WIFI_APS, &mac_set_string);
+
+       std::stringstream mac_set_ss;
+       mac_set_ss << mac_set_string;
+       std::shared_ptr<mac_set_t> mac_set = std::make_shared<mac_set_t>();
+       mac_set_ss >> *mac_set;
+
+       interval_s interval(start_time, end_time);
+       categs_t categs = visit_categs_from_json(row);
+
+       visit_s visit(interval, mac_set, categs);
+
+       { // location
+               int location_valid_int;
+               row.get(NULL, VISIT_COLUMN_LOCATION_VALID, &location_valid_int);
+               visit.location_valid = (bool) location_valid_int;
+               row.get(NULL, VISIT_COLUMN_LOCATION_LATITUDE, &(visit.location.latitude));
+               row.get(NULL, VISIT_COLUMN_LOCATION_LONGITUDE, &(visit.location.longitude));
+       }
+
+       return visit;
+}
+
+ctx::visits_t ctx::PlacesDetector::visits_from_jsons(std::vector<json>& records)
+{
+       visits_t visits;
+       _D("db_result: number of all visits: %d", records.size());
+
+       for (json &row : records) {
+               visit_s visit = visit_from_json(row);
+               visits.push_back(visit);
+       }
+       _D("number of all visits in vector: %d", visits.size());
+       return visits;
+}
+
+std::shared_ptr<ctx::Place> ctx::PlacesDetector::place_from_json(json &row)
+{
+       std::shared_ptr<Place> place = std::make_shared<Place>();
+       { // category
+               int categ_id;
+               row.get(NULL, PLACE_COLUMN_CATEG_ID, &categ_id);
+               // This is due to the fact the JSON module API interface doesn't handle enum
+               place->categ_id = static_cast<place_categ_id_e>(categ_id);
+       }
+       row.get(NULL, PLACE_COLUMN_NAME, &(place->name));
+       row.get(NULL, PLACE_COLUMN_WIFI_APS, &(place->wifi_aps));
+       { // location
+               int location_valid_int;
+               row.get(NULL, PLACE_COLUMN_LOCATION_VALID, &location_valid_int);
+               place->location_valid = (bool) location_valid_int;
+               row.get(NULL, PLACE_COLUMN_LOCATION_LATITUDE, &(place->location.latitude));
+               row.get(NULL, PLACE_COLUMN_LOCATION_LONGITUDE, &(place->location.longitude));
+       }
+       { // create_date
+               int create_date;
+               row.get(NULL, PLACE_COLUMN_CREATE_DATE, &(create_date));
+               // This is due to the fact the JSON module API interface doesn't handle time_t
+               place->create_date = static_cast<time_t>(create_date);
+       }
+       _D("db_result: categ_id: %d; place: name: %s; wifi_aps: %s; location_valid: %d; latitude: %lf, longitude: %lf, create_date: %d", place->categ_id, place->name.c_str(), place->wifi_aps.c_str(), place->location_valid, place->location.latitude, place->location.longitude, place->create_date);
+       return place;
+}
+
+std::vector<std::shared_ptr<ctx::Place>> ctx::PlacesDetector::places_from_jsons(std::vector<json>& records)
+{
+       std::vector<std::shared_ptr<Place>> places;
+       _D("db_result: number of all places: %d", records.size());
+
+       for (json &row : records) {
+               std::shared_ptr<Place> place = place_from_json(row);
+               places.push_back(place);
+       }
+       _D("number of all places in vector: %d", places.size());
+       return places;
+}
+
+void ctx::PlacesDetector::reduce_outliers(ctx::visits_t &visits)
+{
+       int size = visits.size();
+       visits.erase(std::remove_if(
+                                       visits.begin(),
+                                       visits.end(),
+                                       [](visit_s v) {
+                                               int minutes = (v.interval.end - v.interval.start) / 60;
+                                               return (minutes < PLACES_DETECTOR_MIN_VISIT_DURATION_MINUTES)
+                                                               || (minutes > PLACES_DETECTOR_MAX_VISIT_DURATION_MINUTES);
+                                       }),
+                               visits.end());
+       int new_size = visits.size();
+       if (size != new_size) {
+               _D("Visits number from %d to %d (to short and to long reduction)", size, new_size);
+       }
+}
+
+void ctx::PlacesDetector::process_visits(ctx::visits_t &visits)
+{
+       reduce_outliers(visits);
+
+       _D("test_mode = %d", test_mode);
+       auto components = merge_visits(visits);
+       std::vector<std::shared_ptr<Place>> new_detected_places;
+#ifdef TIZEN_ENGINEER_MODE
+       std::vector<visits_t> places_visits; // TODO: remove from final solution.
+#endif /* TIZEN_ENGINEER_MODE */
+       for (std::shared_ptr<component_t> component : *components) {
+               // Small places outliers reduction
+               if (!test_mode && component->size() < PLACES_DETECTOR_MIN_VISITS_PER_BIG_PLACE) {
+                       continue;
+               }
+
+               std::shared_ptr<visits_t> merged = std::make_shared<visits_t>();
+               for (node_t i : *component) {
+                       merged->push_back(visits[i]);
+               }
+               std::shared_ptr<Place> place = place_from_merged(*merged);
+               if (place->categ_id == PLACE_CATEG_ID_NONE) {
+                       continue;
+               }
+               new_detected_places.push_back(place);
+               if (!test_mode) {
+                       db_insert_place(*place);
+               }
+
+#ifdef TIZEN_ENGINEER_MODE
+               { // TODO: Only for debug -> remove in final solution
+                       visits_t place_visits;
+                       for (node_t i : *component) {
+                               place_visits.push_back(visits[i]);
+                       }
+                       places_visits.push_back(place_visits);
+               }
+#endif /* TIZEN_ENGINEER_MODE */
+       }
+
+       detected_places_update(new_detected_places);
+
+#ifdef TIZEN_ENGINEER_MODE
+       { // Print to file TODO: Only for debug -> remove in final solution
+               std::ofstream out(USER_PLACES_FILE);
+               for (size_t i = 0; i < new_detected_places.size(); i++) {
+                       new_detected_places[i]->print_to_stream(out);
+                       visits_t place_visits = places_visits[i];
+                       for (visit_s visit : place_visits) {
+                               visit.print_short_to_stream(out);
+                       }
+               }
+               out.close();
+               Gmap::write_map(detected_places);
+       }
+#endif /* TIZEN_ENGINEER_MODE */
+}
+
+/*
+ * Pseudo-atomic operation of old places replacement by new ones.
+ */
+void ctx::PlacesDetector::detected_places_update(std::vector<std::shared_ptr<Place>> &new_places)
+{
+       _D("");
+       detected_places_access_mutex.lock();
+       detected_places = new_places;
+       new_places.clear();
+       detected_places_access_mutex.unlock();
+}
+
+void ctx::PlacesDetector::merge_location(const visits_t &visits, Place &place)
+{
+       place.location_valid = false;
+       std::vector<double> latitudes;
+       std::vector<double> longitudes;
+       for (const visit_s& visit : visits) {
+               if (visit.location_valid) {
+                       latitudes.push_back(visit.location.latitude);
+                       longitudes.push_back(visit.location.longitude);
+                       place.location_valid = true;
+               }
+       }
+       if (place.location_valid) {
+               place.location.latitude = median(latitudes);
+               place.location.longitude = median(longitudes);
+       }
+}
+
+std::shared_ptr<ctx::Place> ctx::PlacesDetector::place_from_merged(visits_t &merged_visits)
+{
+       std::shared_ptr<Place> place = std::make_shared<Place>();
+       place->create_date = std::time(nullptr);
+       std::vector<std::shared_ptr<mac_set_t>> mac_sets;
+       for (const visit_s &visit : merged_visits) {
+               mac_sets.push_back(visit.mac_set);
+       }
+       std::shared_ptr<mac_set_t> all_macs = mac_sets_union(mac_sets);
+       std::stringstream all_macs_ss;
+       all_macs_ss << *all_macs;
+       place->wifi_aps = all_macs_ss.str();
+
+       merge_location(merged_visits, *place);
+
+       PlaceCateger::categorize(merged_visits, *place);
+
+       return place;
+}
+
+void ctx::PlacesDetector::reduce_outliers(std::shared_ptr<ctx::components_t> &cc)
+{
+       int size = cc->size();
+       cc->erase(std::remove_if(cc->begin(),
+                                                        cc->end(),
+                                                        [](std::shared_ptr<component_t> &c) {
+                                                                return c->size() < PLACES_DETECTOR_MIN_VISITS_PER_PLACE;
+                                                        }),
+                         cc->end());
+       int new_size = cc->size();
+       if (size != new_size) {
+               _D("Connected components from %d to %d (min visit per place)", size, new_size);
+       }
+}
+
+std::shared_ptr<ctx::components_t> ctx::PlacesDetector::merge_visits(const std::vector<visit_s> &visits)
+{
+       auto graph = graph_from_visits(visits);
+       auto cc = connected_components(*graph);
+       reduce_outliers(cc);
+       return cc;
+}
+
+std::shared_ptr<ctx::graph_t> ctx::PlacesDetector::graph_from_visits(const std::vector<visit_s> &visits)
+{
+       std::shared_ptr<graph_t> graph = std::make_shared<graph_t>();
+       graph->resize(visits.size());
+       for (size_t i = 0; i < visits.size(); i++) {
+               (*graph)[i] = std::make_shared<nhood_t>();
+               for (size_t j = 0; j < i; j++) {
+                       if (is_joint(*visits[i].mac_set, *visits[j].mac_set)) {
+                               (*graph)[i]->insert(j);
+                               (*graph)[j]->insert(i);
+                       }
+               }
+       }
+       return graph;
+}
+
+void ctx::PlacesDetector::db_delete_places()
+{
+       bool ret = db_manager::execute(PLACES_DETECTOR_QUERY_ID_DELETE_PLACES, DELETE_PLACES_QUERY, this);
+       _D("delete places execute query result: %s", ret ? "SUCCESS" : "FAIL");
+}
+
+void ctx::PlacesDetector::db_delete_old_visits()
+{
+       time_t current_time;
+       time(&current_time);
+       time_t threshold_time = current_time - PLACES_DETECTOR_RETENTION_SECONDS;
+       db_delete_older_visits(threshold_time);
+}
+
+void ctx::PlacesDetector::db_delete_older_visits(time_t threshold)
+{
+       _D("deleting vistits older than: %d", threshold);
+       std::stringstream query;
+       query << "DELETE FROM " << VISIT_TABLE;
+       query << " WHERE " << VISIT_COLUMN_END_TIME << " < " << threshold;
+       // query << " AND 0"; // Always false condition. Uncomment it for not deleting any visit during development.
+       bool ret = db_manager::execute(PLACES_DETECTOR_QUERY_ID_DELETE_OLD_VISITS, query.str().c_str(), this);
+       _D("delete old visits execute query result: %s", ret ? "SUCCESS" : "FAIL");
+}
+
+ctx::PlacesDetector::PlacesDetector(bool test_mode_)
+       : test_mode(test_mode_)
+{
+       if (test_mode) {
+               return;
+       }
+       db_create_table();
+       db_get_places();
+}
+
+void ctx::PlacesDetector::db_create_table()
+{
+       bool ret = db_manager::create_table(0, PLACE_TABLE, PLACE_TABLE_COLUMNS);
+       _D("db: place Table Creation Result: %s", ret ? "SUCCESS" : "FAIL");
+}
+
+void ctx::PlacesDetector::db_insert_place(const Place &place)
+{
+       json data;
+       data.set(NULL, PLACE_COLUMN_CATEG_ID, place.categ_id);
+       data.set(NULL, PLACE_COLUMN_CATEG_CONFIDENCE, place.categ_confidence);
+       data.set(NULL, PLACE_COLUMN_NAME, place.name);
+
+       data.set(NULL, PLACE_COLUMN_LOCATION_VALID, place.location_valid);
+       data.set(NULL, PLACE_COLUMN_LOCATION_LATITUDE, place.location.latitude, GEO_LOCATION_PRECISION);
+       data.set(NULL, PLACE_COLUMN_LOCATION_LONGITUDE, place.location.longitude, GEO_LOCATION_PRECISION);
+
+       data.set(NULL, PLACE_COLUMN_WIFI_APS, place.wifi_aps);
+       data.set(NULL, PLACE_COLUMN_CREATE_DATE, static_cast<int>(place.create_date));
+
+       bool ret = db_manager::insert(PLACES_DETECTOR_QUERY_ID_INSERT_PLACE, PLACE_TABLE, data);
+       _D("insert place execute query result: %s", ret ? "SUCCESS" : "FAIL");
+}
+
+std::vector<std::shared_ptr<ctx::Place>> ctx::PlacesDetector::get_places()
+{
+       detected_places_access_mutex.lock();
+       // indirect ret vector usage due to limit the scope of a mutex to only this single file / class
+       std::vector<std::shared_ptr<Place>> ret = detected_places;
+       detected_places_access_mutex.unlock();
+       return ret;
+}
diff --git a/src/place/recognition/user_places/places_detector.h b/src/place/recognition/user_places/places_detector.h
new file mode 100644 (file)
index 0000000..72767c4
--- /dev/null
@@ -0,0 +1,79 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_PLACES_DETECTOR__
+#define __CONTEXT_PLACE_STATUS_PLACES_DETECTOR__
+
+#include "visit_detector.h"
+#include "timer_listener_iface.h"
+#include <cstdint>
+#include "db_listener_iface.h"
+#include "user_places_types.h"
+#include <vector>
+#include <mutex>
+
+namespace ctx {
+
+       enum {
+               PLACES_DETECTOR_QUERY_ID_DELETE_PLACES = 1,
+               PLACES_DETECTOR_QUERY_ID_DELETE_OLD_VISITS = 2,
+               PLACES_DETECTOR_QUERY_ID_GET_VISITS = 3,
+               PLACES_DETECTOR_QUERY_ID_INSERT_VISIT = 4,
+               PLACES_DETECTOR_QUERY_ID_INSERT_PLACE = 5,
+               PLACES_DETECTOR_QUERY_ID_GET_PLACES = 6
+       };
+
+       class PlacesDetector : public timer_listener_iface, public db_listener_iface {
+
+       private:
+               bool test_mode;
+               double double_value_from_json(json &row, const char* key);
+               categs_t visit_categs_from_json(json &row);
+               visit_s visit_from_json(json &row);
+               visits_t visits_from_jsons(std::vector<json>& records);
+               std::shared_ptr<ctx::Place> place_from_json(json &row);
+               std::vector<std::shared_ptr<Place>> places_from_jsons(std::vector<json>& records);
+               std::shared_ptr<graph_t> graph_from_visits(const std::vector<visit_s> &visits);
+               void db_create_table();
+               void db_delete_places();
+               void db_delete_old_visits();
+               void db_delete_older_visits(time_t threshold);
+               void db_get_visits();
+               void db_get_places();
+               void db_insert_place(const Place &place);
+               std::shared_ptr<Place> place_from_merged(visits_t &merged_visits);
+               std::vector<std::shared_ptr<Place>> detected_places;
+               std::mutex detected_places_access_mutex;
+               void detected_places_update(std::vector<std::shared_ptr<Place>> &new_places);
+
+       public:
+               static void reduce_outliers(visits_t &visits);
+               static void reduce_outliers(std::shared_ptr<components_t> &cc);
+               void process_visits(visits_t &visits);
+               static void merge_location(const visits_t &merged_visits, Place &place);
+               PlacesDetector(bool test_mode_ = false);
+               bool on_timer_expired(int timer_id, void* user_data);
+               void on_creation_result_received(unsigned int query_id, int error) {}
+               void on_insertion_result_received(unsigned int query_id, int error, int64_t row_id) {}
+               void on_query_result_received(unsigned int query_id, int error, std::vector<json>& records);
+               std::shared_ptr<components_t> merge_visits(const std::vector<visit_s> &visits);
+               std::vector<std::shared_ptr<Place>> get_places();
+
+       };  /* class PlacesDetector */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_PLACES_DETECTOR__ */
diff --git a/src/place/recognition/user_places/prob_features_model.h b/src/place/recognition/user_places/prob_features_model.h
new file mode 100644 (file)
index 0000000..e4e87f0
--- /dev/null
@@ -0,0 +1,30287 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_PROB_FEATURES_MODEL_H__
+#define __CONTEXT_PLACE_PROB_FEATURES_MODEL_H__
+
+namespace ctx {
+
+       /*
+        * Probabilities for whole week <monday Ã· sunday> with minutes resolution
+        * from beginning of the week (sunday -> monday midnight) <0, 10080).
+        * Key is place_categ_id_e:
+        *     PLACE_CATEG_ID_HOME
+        *     PLACE_CATEG_ID_WORK
+        *     PLACE_CATEG_ID_OTHER
+        */
+       std::map<place_categ_id_e, std::vector<num_t>> week_model {
+               { PLACE_CATEG_ID_HOME,
+                       {
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9833333333333330,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9830508474576270,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9827586206896550,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9821428571428570,
+                               0.9821428571428570,
+                               0.9821428571428570,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9821428571428570,
+                               0.9821428571428570,
+                               0.9821428571428570,
+                               0.9821428571428570,
+                               0.9821428571428570,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9629629629629630,
+                               0.9629629629629630,
+                               0.9629629629629630,
+                               0.9629629629629630,
+                               0.9629629629629630,
+                               0.9629629629629630,
+                               0.9454545454545450,
+                               0.9454545454545450,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9122807017543860,
+                               0.9122807017543860,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9245283018867930,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9215686274509800,
+                               0.9215686274509800,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8490566037735850,
+                               0.8490566037735850,
+                               0.8490566037735850,
+                               0.8490566037735850,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8113207547169810,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7692307692307690,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7169811320754720,
+                               0.7169811320754720,
+                               0.7169811320754720,
+                               0.7115384615384620,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.6875000000000000,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6666666666666670,
+                               0.6400000000000000,
+                               0.6274509803921570,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6078431372549020,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.5769230769230770,
+                               0.5769230769230770,
+                               0.5600000000000000,
+                               0.5490196078431370,
+                               0.5208333333333330,
+                               0.5208333333333330,
+                               0.5208333333333330,
+                               0.5208333333333330,
+                               0.5208333333333330,
+                               0.5102040816326530,
+                               0.4893617021276600,
+                               0.4893617021276600,
+                               0.4893617021276600,
+                               0.4893617021276600,
+                               0.4444444444444440,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4255319148936170,
+                               0.4130434782608700,
+                               0.4130434782608700,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.2790697674418600,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2666666666666670,
+                               0.2666666666666670,
+                               0.2666666666666670,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2200000000000000,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0847457627118644,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1346153846153850,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1481481481481480,
+                               0.1636363636363640,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1578947368421050,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1754385964912280,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1818181818181820,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1785714285714290,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1818181818181820,
+                               0.1964285714285710,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1964285714285710,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.2105263157894740,
+                               0.2142857142857140,
+                               0.2321428571428570,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2500000000000000,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2592592592592590,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2592592592592590,
+                               0.2592592592592590,
+                               0.2592592592592590,
+                               0.2777777777777780,
+                               0.2777777777777780,
+                               0.2641509433962260,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2745098039215690,
+                               0.2830188679245280,
+                               0.2884615384615380,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2884615384615380,
+                               0.2941176470588230,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.3000000000000000,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3000000000000000,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3200000000000000,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3478260869565220,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.4130434782608700,
+                               0.4130434782608700,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4489795918367350,
+                               0.4888888888888890,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5116279069767440,
+                               0.5116279069767440,
+                               0.5116279069767440,
+                               0.5238095238095240,
+                               0.5238095238095240,
+                               0.5365853658536590,
+                               0.5365853658536590,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5227272727272730,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5227272727272730,
+                               0.5227272727272730,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5111111111111110,
+                               0.5111111111111110,
+                               0.5227272727272730,
+                               0.5227272727272730,
+                               0.4893617021276600,
+                               0.5000000000000000,
+                               0.5102040816326530,
+                               0.5102040816326530,
+                               0.5200000000000000,
+                               0.5306122448979590,
+                               0.5200000000000000,
+                               0.5294117647058820,
+                               0.5294117647058820,
+                               0.5294117647058820,
+                               0.5192307692307690,
+                               0.5094339622641510,
+                               0.5094339622641510,
+                               0.5094339622641510,
+                               0.5294117647058820,
+                               0.5384615384615380,
+                               0.5471698113207550,
+                               0.5471698113207550,
+                               0.5471698113207550,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5636363636363640,
+                               0.5535714285714290,
+                               0.5535714285714290,
+                               0.5535714285714290,
+                               0.5636363636363640,
+                               0.5714285714285710,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.5818181818181820,
+                               0.5925925925925930,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6956521739130430,
+                               0.7111111111111110,
+                               0.7111111111111110,
+                               0.7111111111111110,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7826086956521740,
+                               0.7826086956521740,
+                               0.7826086956521740,
+                               0.7872340425531920,
+                               0.7872340425531920,
+                               0.7872340425531920,
+                               0.7708333333333330,
+                               0.7400000000000000,
+                               0.7400000000000000,
+                               0.7551020408163260,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.7115384615384620,
+                               0.7115384615384620,
+                               0.7115384615384620,
+                               0.7169811320754720,
+                               0.7169811320754720,
+                               0.7307692307692310,
+                               0.7307692307692310,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7600000000000000,
+                               0.7600000000000000,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7800000000000000,
+                               0.7800000000000000,
+                               0.7692307692307690,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7800000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8200000000000000,
+                               0.8200000000000000,
+                               0.8039215686274510,
+                               0.8039215686274510,
+                               0.8039215686274510,
+                               0.8039215686274510,
+                               0.8235294117647060,
+                               0.8076923076923080,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7884615384615380,
+                               0.8076923076923080,
+                               0.8076923076923080,
+                               0.8076923076923080,
+                               0.8113207547169810,
+                               0.8113207547169810,
+                               0.8148148148148150,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8148148148148150,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8333333333333330,
+                               0.8518518518518520,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8793103448275860,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8771929824561400,
+                               0.8793103448275860,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8965517241379310,
+                               0.8965517241379310,
+                               0.8965517241379310,
+                               0.8965517241379310,
+                               0.8965517241379310,
+                               0.8965517241379310,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8793103448275860,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.9000000000000000,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9137931034482760,
+                               0.9137931034482760,
+                               0.9137931034482760,
+                               0.9137931034482760,
+                               0.9137931034482760,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9016393442622950,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9062500000000000,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9508196721311470,
+                               0.9508196721311470,
+                               0.9508196721311470,
+                               0.9508196721311470,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9836065573770490,
+                               0.9836065573770490,
+                               0.9836065573770490,
+                               0.9836065573770490,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9838709677419350,
+                               0.9841269841269840,
+                               0.9841269841269840,
+                               0.9841269841269840,
+                               0.9841269841269840,
+                               0.9841269841269840,
+                               0.9841269841269840,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9848484848484850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9846153846153850,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                               0.9843750000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                                       1.0000000000000000,
+                               0.9661016949152540,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9473684210526320,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9137931034482760,
+                               0.9122807017543860,
+                               0.9122807017543860,
+                               0.9122807017543860,
+                               0.9122807017543860,
+                               0.9107142857142860,
+                               0.9272727272727270,
+                               0.9107142857142860,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.8947368421052630,
+                               0.9107142857142860,
+                               0.9107142857142860,
+                               0.9107142857142860,
+                               0.9107142857142860,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8727272727272730,
+                               0.8888888888888890,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8490566037735850,
+                               0.8490566037735850,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8000000000000000,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7818181818181820,
+                               0.7777777777777780,
+                               0.7454545454545450,
+                               0.7454545454545450,
+                               0.7407407407407410,
+                               0.7407407407407410,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7307692307692310,
+                               0.7254901960784310,
+                               0.7254901960784310,
+                               0.7254901960784310,
+                               0.7254901960784310,
+                               0.7058823529411760,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.6800000000000000,
+                               0.6800000000000000,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6600000000000000,
+                               0.6600000000000000,
+                               0.6600000000000000,
+                               0.6470588235294120,
+                               0.6346153846153850,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.5961538461538460,
+                               0.5769230769230770,
+                               0.5576923076923080,
+                               0.5576923076923080,
+                               0.5576923076923080,
+                               0.5471698113207550,
+                               0.5471698113207550,
+                               0.5471698113207550,
+                               0.5471698113207550,
+                               0.5471698113207550,
+                               0.5471698113207550,
+                               0.5294117647058820,
+                               0.5294117647058820,
+                               0.5294117647058820,
+                               0.5294117647058820,
+                               0.5200000000000000,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5200000000000000,
+                               0.5200000000000000,
+                               0.5200000000000000,
+                               0.5200000000000000,
+                               0.5200000000000000,
+                               0.5200000000000000,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5000000000000000,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4509803921568630,
+                               0.4600000000000000,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3541666666666670,
+                               0.3333333333333330,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3061224489795920,
+                               0.3000000000000000,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2340425531914890,
+                               0.2340425531914890,
+                               0.2391304347826090,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2045454545454550,
+                               0.1956521739130430,
+                               0.1914893617021280,
+                               0.1875000000000000,
+                               0.1632653061224490,
+                               0.1632653061224490,
+                               0.1600000000000000,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1403508771929820,
+                               0.1403508771929820,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1166666666666670,
+                               0.1166666666666670,
+                               0.1166666666666670,
+                               0.1166666666666670,
+                               0.1166666666666670,
+                               0.1166666666666670,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.1093750000000000,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0500000000000000,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0476190476190476,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0468750000000000,
+                               0.0476190476190476,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0476190476190476,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0333333333333333,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0357142857142857,
+                               0.0363636363636364,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0363636363636364,
+                               0.0370370370370370,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0322580645161290,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0322580645161290,
+                               0.0317460317460317,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0937500000000000,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.1000000000000000,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1311475409836070,
+                               0.1333333333333330,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1290322580645160,
+                               0.1269841269841270,
+                               0.1406250000000000,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1562500000000000,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1562500000000000,
+                               0.1562500000000000,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1562500000000000,
+                               0.1562500000000000,
+                               0.1562500000000000,
+                               0.1562500000000000,
+                               0.1562500000000000,
+                               0.1718750000000000,
+                               0.1718750000000000,
+                               0.1718750000000000,
+                               0.1718750000000000,
+                               0.1718750000000000,
+                               0.1718750000000000,
+                               0.1718750000000000,
+                               0.1846153846153850,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1904761904761900,
+                               0.1774193548387100,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1864406779661020,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1929824561403510,
+                               0.2000000000000000,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.2000000000000000,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2115384615384620,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2181818181818180,
+                               0.2181818181818180,
+                               0.2142857142857140,
+                               0.2142857142857140,
+                               0.2142857142857140,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2280701754385960,
+                               0.2321428571428570,
+                               0.2363636363636360,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2407407407407410,
+                               0.2592592592592590,
+                               0.2745098039215690,
+                               0.2745098039215690,
+                               0.2884615384615380,
+                               0.3000000000000000,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3400000000000000,
+                               0.3400000000000000,
+                               0.3400000000000000,
+                               0.3400000000000000,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3400000000000000,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3653846153846150,
+                               0.3888888888888890,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4181818181818180,
+                               0.4181818181818180,
+                               0.4181818181818180,
+                               0.4385964912280700,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.4464285714285710,
+                               0.4545454545454550,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4705882352941180,
+                               0.5000000000000000,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5192307692307690,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.4905660377358490,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4727272727272730,
+                               0.4727272727272730,
+                               0.4727272727272730,
+                               0.4727272727272730,
+                               0.4727272727272730,
+                               0.4807692307692310,
+                               0.4807692307692310,
+                               0.4807692307692310,
+                               0.4905660377358490,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.4909090909090910,
+                               0.4909090909090910,
+                               0.5192307692307690,
+                               0.5370370370370370,
+                               0.5370370370370370,
+                               0.5370370370370370,
+                               0.5576923076923080,
+                               0.5576923076923080,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.6170212765957450,
+                               0.6304347826086960,
+                               0.6304347826086960,
+                               0.6666666666666670,
+                               0.6739130434782610,
+                               0.6808510638297870,
+                               0.6458333333333330,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6530612244897960,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6875000000000000,
+                               0.6938775510204080,
+                               0.7083333333333330,
+                               0.7234042553191490,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.6938775510204080,
+                               0.6938775510204080,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6981132075471700,
+                               0.7169811320754720,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7358490566037730,
+                               0.7407407407407410,
+                               0.7547169811320760,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7272727272727270,
+                               0.7454545454545450,
+                               0.7321428571428570,
+                               0.7321428571428570,
+                               0.7321428571428570,
+                               0.7321428571428570,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7288135593220340,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7213114754098360,
+                               0.7258064516129030,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7419354838709680,
+                               0.7419354838709680,
+                               0.7419354838709680,
+                               0.7666666666666670,
+                               0.7666666666666670,
+                               0.7666666666666670,
+                               0.7666666666666670,
+                               0.7666666666666670,
+                               0.7796610169491530,
+                               0.8214285714285710,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7796610169491530,
+                               0.7833333333333330,
+                               0.7868852459016390,
+                               0.8000000000000000,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.7936507936507940,
+                               0.7846153846153850,
+                               0.7846153846153850,
+                               0.7846153846153850,
+                               0.7846153846153850,
+                               0.7968750000000000,
+                               0.7968750000000000,
+                               0.7968750000000000,
+                               0.7846153846153850,
+                               0.7846153846153850,
+                               0.7846153846153850,
+                               0.7846153846153850,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8125000000000000,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8906250000000000,
+                               0.8906250000000000,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8730158730158730,
+                               0.8888888888888890,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9230769230769230,
+                               0.9230769230769230,
+                               0.9230769230769230,
+                               0.9230769230769230,
+                               0.9230769230769230,
+                               0.9230769230769230,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9242424242424240,
+                               0.9253731343283580,
+                               0.9264705882352940,
+                               0.9264705882352940,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9285714285714290,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9420289855072460,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9565217391304350,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9705882352941180,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9701492537313430,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9696969696969700,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9692307692307690,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9692307692307690,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9365079365079360,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9333333333333330,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9166666666666670,
+                               0.9322033898305080,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8852459016393440,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8644067796610170,
+                               0.8666666666666670,
+                               0.8524590163934430,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8474576271186440,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8166666666666670,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8000000000000000,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7636363636363640,
+                               0.7592592592592590,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7500000000000000,
+                               0.7450980392156860,
+                               0.7346938775510200,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7058823529411760,
+                               0.7000000000000000,
+                               0.6862745098039220,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6538461538461540,
+                               0.6470588235294120,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6226415094339620,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5818181818181820,
+                               0.5818181818181820,
+                               0.5818181818181820,
+                               0.5714285714285710,
+                               0.5714285714285710,
+                               0.5614035087719300,
+                               0.5517241379310340,
+                               0.5272727272727270,
+                               0.5272727272727270,
+                               0.5272727272727270,
+                               0.5272727272727270,
+                               0.5178571428571430,
+                               0.5178571428571430,
+                               0.4909090909090910,
+                               0.4821428571428570,
+                               0.4821428571428570,
+                               0.4736842105263160,
+                               0.4482758620689660,
+                               0.4482758620689660,
+                               0.4385964912280700,
+                               0.4385964912280700,
+                               0.4385964912280700,
+                               0.4385964912280700,
+                               0.4385964912280700,
+                               0.4385964912280700,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3888888888888890,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3703703703703700,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3518518518518520,
+                               0.3137254901960780,
+                               0.2941176470588230,
+                               0.2800000000000000,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2200000000000000,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1612903225806450,
+                               0.1406250000000000,
+                               0.1406250000000000,
+                               0.1384615384615380,
+                               0.1384615384615380,
+                               0.1406250000000000,
+                               0.1406250000000000,
+                               0.1384615384615380,
+                               0.1384615384615380,
+                               0.1363636363636360,
+                               0.1363636363636360,
+                               0.1363636363636360,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1323529411764710,
+                               0.1304347826086960,
+                               0.1304347826086960,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1285714285714290,
+                               0.1267605633802820,
+                               0.1142857142857140,
+                               0.1142857142857140,
+                               0.1159420289855070,
+                               0.1159420289855070,
+                               0.1159420289855070,
+                               0.1029411764705880,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0869565217391304,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0735294117647059,
+                               0.0724637681159420,
+                               0.0735294117647059,
+                               0.0746268656716418,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0781250000000000,
+                               0.0769230769230769,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0769230769230769,
+                               0.0781250000000000,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0645161290322581,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0645161290322581,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0606060606060606,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0571428571428571,
+                               0.0579710144927536,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0597014925373134,
+                               0.0606060606060606,
+                               0.0597014925373134,
+                               0.0588235294117647,
+                               0.0579710144927536,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0746268656716418,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0704225352112676,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0684931506849315,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0563380281690141,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0422535211267606,
+                               0.0428571428571429,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0428571428571429,
+                               0.0434782608695652,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0724637681159420,
+                               0.0735294117647059,
+                               0.0724637681159420,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0985915492957746,
+                               0.0985915492957746,
+                               0.1000000000000000,
+                               0.1014492753623190,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1194029850746270,
+                               0.1194029850746270,
+                               0.1194029850746270,
+                               0.1194029850746270,
+                               0.1194029850746270,
+                               0.1194029850746270,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1470588235294120,
+                               0.1449275362318840,
+                               0.1449275362318840,
+                               0.1449275362318840,
+                               0.1470588235294120,
+                               0.1470588235294120,
+                               0.1449275362318840,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1323529411764710,
+                               0.1343283582089550,
+                               0.1212121212121210,
+                               0.1194029850746270,
+                               0.1194029850746270,
+                               0.1212121212121210,
+                               0.1194029850746270,
+                               0.1194029850746270,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1470588235294120,
+                               0.1492537313432840,
+                               0.1515151515151520,
+                               0.1515151515151520,
+                               0.1515151515151520,
+                               0.1515151515151520,
+                               0.1515151515151520,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1791044776119400,
+                               0.1791044776119400,
+                               0.1818181818181820,
+                               0.1875000000000000,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1774193548387100,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1666666666666670,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.2131147540983610,
+                               0.2166666666666670,
+                               0.2166666666666670,
+                               0.2131147540983610,
+                               0.2258064516129030,
+                               0.2258064516129030,
+                               0.2258064516129030,
+                               0.2258064516129030,
+                               0.2258064516129030,
+                               0.2295081967213110,
+                               0.2295081967213110,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2372881355932200,
+                               0.2456140350877190,
+                               0.2363636363636360,
+                               0.2631578947368420,
+                               0.2631578947368420,
+                               0.2586206896551720,
+                               0.2631578947368420,
+                               0.2631578947368420,
+                               0.2678571428571430,
+                               0.2727272727272730,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2909090909090910,
+                               0.2962962962962960,
+                               0.2830188679245280,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3750000000000000,
+                               0.3750000000000000,
+                               0.3750000000000000,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3877551020408160,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.4081632653061220,
+                               0.4038461538461540,
+                               0.4074074074074070,
+                               0.4035087719298250,
+                               0.3965517241379310,
+                               0.3965517241379310,
+                               0.4067796610169490,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4237288135593220,
+                               0.4237288135593220,
+                               0.4237288135593220,
+                               0.4310344827586210,
+                               0.4310344827586210,
+                               0.4237288135593220,
+                               0.4237288135593220,
+                               0.4237288135593220,
+                               0.4333333333333330,
+                               0.4426229508196720,
+                               0.4426229508196720,
+                               0.4516129032258060,
+                               0.4516129032258060,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4531250000000000,
+                               0.4461538461538460,
+                               0.4461538461538460,
+                               0.4285714285714290,
+                               0.4354838709677420,
+                               0.4262295081967210,
+                               0.4482758620689660,
+                               0.4482758620689660,
+                               0.4406779661016950,
+                               0.4406779661016950,
+                               0.4406779661016950,
+                               0.4576271186440680,
+                               0.4590163934426230,
+                               0.4677419354838710,
+                               0.4915254237288140,
+                               0.4915254237288140,
+                               0.4915254237288140,
+                               0.5000000000000000,
+                               0.5081967213114750,
+                               0.5081967213114750,
+                               0.5081967213114750,
+                               0.5081967213114750,
+                               0.5166666666666670,
+                               0.5166666666666670,
+                               0.5166666666666670,
+                               0.5166666666666670,
+                               0.5081967213114750,
+                               0.5081967213114750,
+                               0.5081967213114750,
+                               0.5000000000000000,
+                               0.5084745762711860,
+                               0.5084745762711860,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5081967213114750,
+                               0.5161290322580650,
+                               0.5076923076923080,
+                               0.5156250000000000,
+                               0.5238095238095240,
+                               0.5238095238095240,
+                               0.5238095238095240,
+                               0.5245901639344260,
+                               0.5333333333333330,
+                               0.5245901639344260,
+                               0.5500000000000000,
+                               0.5500000000000000,
+                               0.5573770491803280,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5645161290322580,
+                               0.5625000000000000,
+                               0.5538461538461540,
+                               0.5454545454545450,
+                               0.5454545454545450,
+                               0.5454545454545450,
+                               0.5454545454545450,
+                               0.5384615384615380,
+                               0.5384615384615380,
+                               0.5384615384615380,
+                               0.5454545454545450,
+                               0.5588235294117650,
+                               0.5588235294117650,
+                               0.5671641791044780,
+                               0.5588235294117650,
+                               0.5588235294117650,
+                               0.5588235294117650,
+                               0.5757575757575760,
+                               0.5757575757575760,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6290322580645160,
+                               0.6290322580645160,
+                               0.6290322580645160,
+                               0.6393442622950820,
+                               0.6393442622950820,
+                               0.6393442622950820,
+                               0.6271186440677970,
+                               0.6271186440677970,
+                               0.6271186440677970,
+                               0.6206896551724140,
+                               0.6206896551724140,
+                               0.6206896551724140,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6315789473684210,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6415094339622640,
+                               0.6296296296296300,
+                               0.6415094339622640,
+                               0.6226415094339620,
+                               0.6181818181818180,
+                               0.6296296296296300,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6315789473684210,
+                               0.6428571428571430,
+                               0.6545454545454550,
+                               0.6607142857142860,
+                               0.6607142857142860,
+                               0.6607142857142860,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6779661016949150,
+                               0.6779661016949150,
+                               0.6833333333333330,
+                               0.6833333333333330,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7166666666666670,
+                               0.7049180327868850,
+                               0.7049180327868850,
+                               0.7049180327868850,
+                               0.7049180327868850,
+                               0.6935483870967740,
+                               0.6935483870967740,
+                               0.6935483870967740,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6969696969696970,
+                               0.6969696969696970,
+                               0.7076923076923080,
+                               0.7076923076923080,
+                               0.6969696969696970,
+                               0.6969696969696970,
+                               0.6865671641791040,
+                               0.6865671641791040,
+                               0.6865671641791040,
+                               0.6911764705882350,
+                               0.6911764705882350,
+                               0.6911764705882350,
+                               0.6911764705882350,
+                               0.7014925373134330,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.7164179104477610,
+                               0.7164179104477610,
+                               0.7164179104477610,
+                               0.7164179104477610,
+                               0.7164179104477610,
+                               0.7164179104477610,
+                               0.7246376811594200,
+                               0.7246376811594200,
+                               0.7352941176470590,
+                               0.7352941176470590,
+                               0.7352941176470590,
+                               0.7352941176470590,
+                               0.7352941176470590,
+                               0.7352941176470590,
+                               0.7352941176470590,
+                               0.7462686567164180,
+                               0.7462686567164180,
+                               0.7575757575757580,
+                               0.7611940298507460,
+                               0.7611940298507460,
+                               0.7647058823529410,
+                               0.7681159420289850,
+                               0.7681159420289850,
+                               0.7681159420289850,
+                               0.7681159420289850,
+                               0.7681159420289850,
+                               0.7681159420289850,
+                               0.7826086956521740,
+                               0.7941176470588230,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8059701492537310,
+                               0.8181818181818180,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8437500000000000,
+                               0.8437500000000000,
+                               0.8437500000000000,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8484848484848480,
+                               0.8484848484848480,
+                               0.8484848484848480,
+                               0.8484848484848480,
+                               0.8507462686567160,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8656716417910450,
+                               0.8636363636363640,
+                               0.8636363636363640,
+                               0.8636363636363640,
+                               0.8636363636363640,
+                               0.8636363636363640,
+                               0.8636363636363640,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8636363636363640,
+                               0.8636363636363640,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8906250000000000,
+                               0.8906250000000000,
+                               0.8906250000000000,
+                               0.8923076923076920,
+                               0.8923076923076920,
+                               0.8923076923076920,
+                               0.8923076923076920,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9014084507042250,
+                               0.9014084507042250,
+                               0.9014084507042250,
+                               0.9014084507042250,
+                               0.9014084507042250,
+                               0.9014084507042250,
+                               0.9014084507042250,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9305555555555560,
+                               0.9305555555555560,
+                               0.9305555555555560,
+                               0.9305555555555560,
+                               0.9305555555555560,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9315068493150680,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9324324324324320,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9459459459459460,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9452054794520550,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9577464788732390,
+                               0.9577464788732390,
+                               0.9577464788732390,
+                               0.9577464788732390,
+                               0.9577464788732390,
+                               0.9577464788732390,
+                               0.9577464788732390,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9571428571428570,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9558823529411760,
+                               0.9545454545454550,
+                               0.9545454545454550,
+                               0.9545454545454550,
+                               0.9545454545454550,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9672131147540980,
+                               0.9672131147540980,
+                               0.9672131147540980,
+                               0.9672131147540980,
+                               0.9672131147540980,
+                               0.9672131147540980,
+                               0.9666666666666670,
+                               0.9661016949152540,
+                               0.9661016949152540,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9322033898305080,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9137931034482760,
+                               0.9137931034482760,
+                               0.9137931034482760,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8965517241379310,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8793103448275860,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7833333333333330,
+                               0.7833333333333330,
+                               0.7833333333333330,
+                               0.7833333333333330,
+                               0.7704918032786880,
+                               0.7704918032786880,
+                               0.7704918032786880,
+                               0.7704918032786880,
+                               0.7704918032786880,
+                               0.7580645161290320,
+                               0.7540983606557380,
+                               0.7419354838709680,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7288135593220340,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7068965517241380,
+                               0.7068965517241380,
+                               0.7017543859649120,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.6842105263157900,
+                               0.6842105263157900,
+                               0.6842105263157900,
+                               0.6842105263157900,
+                               0.6785714285714290,
+                               0.6785714285714290,
+                               0.6785714285714290,
+                               0.6785714285714290,
+                               0.6785714285714290,
+                               0.6666666666666670,
+                               0.6551724137931030,
+                               0.6379310344827590,
+                               0.6271186440677970,
+                               0.6206896551724140,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5789473684210530,
+                               0.5689655172413790,
+                               0.5689655172413790,
+                               0.5689655172413790,
+                               0.5689655172413790,
+                               0.5689655172413790,
+                               0.5593220338983050,
+                               0.5593220338983050,
+                               0.5593220338983050,
+                               0.5593220338983050,
+                               0.5500000000000000,
+                               0.5423728813559320,
+                               0.5333333333333330,
+                               0.5333333333333330,
+                               0.5333333333333330,
+                               0.5333333333333330,
+                               0.5333333333333330,
+                               0.5333333333333330,
+                               0.5333333333333330,
+                               0.5333333333333330,
+                               0.5423728813559320,
+                               0.5423728813559320,
+                               0.5333333333333330,
+                               0.5166666666666670,
+                               0.5333333333333330,
+                               0.5254237288135590,
+                               0.5254237288135590,
+                               0.5254237288135590,
+                               0.5333333333333330,
+                               0.5245901639344260,
+                               0.5081967213114750,
+                               0.4736842105263160,
+                               0.4655172413793100,
+                               0.4576271186440680,
+                               0.4482758620689660,
+                               0.4406779661016950,
+                               0.4406779661016950,
+                               0.4310344827586210,
+                               0.4310344827586210,
+                               0.4310344827586210,
+                               0.4310344827586210,
+                               0.4137931034482760,
+                               0.4137931034482760,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3396226415094340,
+                               0.3333333333333330,
+                               0.3272727272727270,
+                               0.3272727272727270,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2830188679245280,
+                               0.2549019607843140,
+                               0.2600000000000000,
+                               0.2448979591836730,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2264150943396230,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1639344262295080,
+                               0.1451612903225810,
+                               0.1451612903225810,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1230769230769230,
+                               0.1230769230769230,
+                               0.1230769230769230,
+                               0.1230769230769230,
+                               0.1230769230769230,
+                               0.1212121212121210,
+                               0.1212121212121210,
+                               0.1212121212121210,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1029411764705880,
+                               0.1044776119402990,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0597014925373134,
+                               0.0606060606060606,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0746268656716418,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0746268656716418,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0869565217391304,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1029411764705880,
+                               0.0909090909090909,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0937500000000000,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.0895522388059701,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0923076923076923,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0923076923076923,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1016949152542370,
+                               0.0967741935483871,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.1111111111111110,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1076923076923080,
+                               0.1093750000000000,
+                               0.1111111111111110,
+                               0.1093750000000000,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0806451612903226,
+                               0.0819672131147541,
+                               0.0793650793650794,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0793650793650794,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1186440677966100,
+                               0.1147540983606560,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1269841269841270,
+                               0.1269841269841270,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1269841269841270,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1311475409836070,
+                               0.1311475409836070,
+                               0.1290322580645160,
+                               0.1311475409836070,
+                               0.1451612903225810,
+                               0.1333333333333330,
+                               0.1311475409836070,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1500000000000000,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1774193548387100,
+                               0.1904761904761900,
+                               0.1935483870967740,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1833333333333330,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1896551724137930,
+                               0.2033898305084750,
+                               0.2000000000000000,
+                               0.1967213114754100,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1724137931034480,
+                               0.1864406779661020,
+                               0.1896551724137930,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1694915254237290,
+                               0.1833333333333330,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.2105263157894740,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2280701754385960,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2280701754385960,
+                               0.2000000000000000,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1964285714285710,
+                               0.2241379310344830,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2321428571428570,
+                               0.2407407407407410,
+                               0.2407407407407410,
+                               0.2407407407407410,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2352941176470590,
+                               0.2352941176470590,
+                               0.2400000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2982456140350880,
+                               0.2982456140350880,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3148148148148150,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3584905660377360,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3962264150943400,
+                               0.3888888888888890,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.4038461538461540,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4285714285714290,
+                               0.4285714285714290,
+                               0.4200000000000000,
+                               0.4117647058823530,
+                               0.4230769230769230,
+                               0.4117647058823530,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4313725490196080,
+                               0.4230769230769230,
+                               0.4400000000000000,
+                               0.4400000000000000,
+                               0.4400000000000000,
+                               0.4509803921568630,
+                               0.4615384615384620,
+                               0.4615384615384620,
+                               0.4807692307692310,
+                               0.4807692307692310,
+                               0.4901960784313730,
+                               0.4901960784313730,
+                               0.5098039215686270,
+                               0.5098039215686270,
+                               0.5000000000000000,
+                               0.5192307692307690,
+                               0.5294117647058820,
+                               0.5490196078431370,
+                               0.5490196078431370,
+                               0.5600000000000000,
+                               0.5576923076923080,
+                               0.5686274509803920,
+                               0.5800000000000000,
+                               0.5800000000000000,
+                               0.5882352941176470,
+                               0.6000000000000000,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6226415094339620,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6415094339622640,
+                               0.6481481481481480,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6603773584905660,
+                               0.6603773584905660,
+                               0.6666666666666670,
+                               0.6800000000000000,
+                               0.6730769230769230,
+                               0.6666666666666670,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6792452830188680,
+                               0.6923076923076920,
+                               0.6981132075471700,
+                               0.6981132075471700,
+                               0.6981132075471700,
+                               0.6981132075471700,
+                               0.6981132075471700,
+                               0.7115384615384620,
+                               0.7115384615384620,
+                               0.7254901960784310,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7090909090909090,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7017543859649120,
+                               0.7017543859649120,
+                               0.6779661016949150,
+                               0.6885245901639340,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.6984126984126980,
+                               0.6885245901639340,
+                               0.6885245901639340,
+                               0.6885245901639340,
+                               0.7000000000000000,
+                               0.6774193548387100,
+                               0.6774193548387100,
+                               0.6774193548387100,
+                               0.6774193548387100,
+                               0.6721311475409840,
+                               0.6557377049180330,
+                               0.6557377049180330,
+                               0.6666666666666670,
+                               0.6779661016949150,
+                               0.6779661016949150,
+                               0.6779661016949150,
+                               0.6779661016949150,
+                               0.6779661016949150,
+                               0.7272727272727270,
+                               0.7017543859649120,
+                               0.7017543859649120,
+                               0.7068965517241380,
+                               0.7068965517241380,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7321428571428570,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7543859649122810,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7894736842105260,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.7833333333333330,
+                               0.7833333333333330,
+                               0.7833333333333330,
+                               0.7833333333333330,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7741935483870970,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.8095238095238100,
+                               0.8095238095238100,
+                               0.8095238095238100,
+                               0.8095238095238100,
+                               0.8095238095238100,
+                               0.8095238095238100,
+                               0.8032786885245900,
+                               0.8064516129032260,
+                               0.8064516129032260,
+                               0.8064516129032260,
+                               0.8064516129032260,
+                               0.8064516129032260,
+                               0.8064516129032260,
+                               0.8064516129032260,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8166666666666670,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8166666666666670,
+                               0.8196721311475410,
+                               0.8196721311475410,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8666666666666670,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8833333333333330,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8906250000000000,
+                               0.8906250000000000,
+                               0.8923076923076920,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8939393939393940,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.8955223880597010,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9016393442622950,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.8852459016393440,
+                               0.8833333333333330,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8596491228070170,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.7962962962962960,
+                               0.7924528301886790,
+                               0.7884615384615380,
+                               0.7843137254901960,
+                               0.7843137254901960,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7407407407407410,
+                               0.7407407407407410,
+                               0.7272727272727270,
+                               0.7222222222222220,
+                               0.6842105263157900,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6724137931034480,
+                               0.6607142857142860,
+                               0.6545454545454550,
+                               0.6481481481481480,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6603773584905660,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6111111111111110,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.5849056603773580,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5660377358490570,
+                               0.5660377358490570,
+                               0.5555555555555560,
+                               0.5471698113207550,
+                               0.5370370370370370,
+                               0.5370370370370370,
+                               0.5370370370370370,
+                               0.5370370370370370,
+                               0.5370370370370370,
+                               0.5272727272727270,
+                               0.5272727272727270,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.4905660377358490,
+                               0.4905660377358490,
+                               0.4905660377358490,
+                               0.4905660377358490,
+                               0.4814814814814810,
+                               0.4905660377358490,
+                               0.4807692307692310,
+                               0.4807692307692310,
+                               0.4807692307692310,
+                               0.4807692307692310,
+                               0.4705882352941180,
+                               0.4615384615384620,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4489795918367350,
+                               0.4489795918367350,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4255319148936170,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4222222222222220,
+                               0.4222222222222220,
+                               0.4130434782608700,
+                               0.4130434782608700,
+                               0.4130434782608700,
+                               0.4000000000000000,
+                               0.3720930232558140,
+                               0.3720930232558140,
+                               0.3636363636363640,
+                               0.3555555555555560,
+                               0.3478260869565220,
+                               0.3404255319148940,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.2954545454545450,
+                               0.2888888888888890,
+                               0.2888888888888890,
+                               0.2888888888888890,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2444444444444440,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2200000000000000,
+                               0.2040816326530610,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1818181818181820,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1578947368421050,
+                               0.1403508771929820,
+                               0.1403508771929820,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1052631578947370,
+                               0.1071428571428570,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0740740740740741,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0784313725490196,
+                               0.0784313725490196,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0784313725490196,
+                               0.0784313725490196,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0892857142857143,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0535714285714286,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0714285714285714,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0740740740740741,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0784313725490196,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0816326530612245,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1000000000000000,
+                               0.1020408163265310,
+                               0.1041666666666670,
+                               0.1224489795918370,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1538461538461540,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1346153846153850,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1636363636363640,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1896551724137930,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2352941176470590,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2352941176470590,
+                               0.2352941176470590,
+                               0.2352941176470590,
+                               0.2500000000000000,
+                               0.2549019607843140,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2800000000000000,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2916666666666670,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2916666666666670,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3200000000000000,
+                               0.3200000000000000,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3061224489795920,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3617021276595740,
+                               0.3750000000000000,
+                               0.3829787234042550,
+                               0.3913043478260870,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.4042553191489360,
+                               0.4130434782608700,
+                               0.4318181818181820,
+                               0.4444444444444440,
+                               0.4545454545454550,
+                               0.4545454545454550,
+                               0.4761904761904760,
+                               0.4651162790697670,
+                               0.4545454545454550,
+                               0.4545454545454550,
+                               0.4651162790697670,
+                               0.4545454545454550,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4545454545454550,
+                               0.4418604651162790,
+                               0.4523809523809520,
+                               0.4523809523809520,
+                               0.4878048780487810,
+                               0.4878048780487810,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5116279069767440,
+                               0.5116279069767440,
+                               0.5227272727272730,
+                               0.5227272727272730,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5476190476190480,
+                               0.5348837209302320,
+                               0.5348837209302320,
+                               0.5476190476190480,
+                               0.5476190476190480,
+                               0.5454545454545450,
+                               0.5714285714285710,
+                               0.5909090909090910,
+                               0.5777777777777780,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6170212765957450,
+                               0.6304347826086960,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5882352941176470,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6078431372549020,
+                               0.5961538461538460,
+                               0.5961538461538460,
+                               0.5961538461538460,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.6037735849056600,
+                               0.6153846153846150,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6326530612244900,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6600000000000000,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6734693877551020,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6600000000000000,
+                               0.6470588235294120,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6603773584905660,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6603773584905660,
+                               0.6603773584905660,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7254901960784310,
+                               0.7254901960784310,
+                               0.7254901960784310,
+                               0.7254901960784310,
+                               0.7254901960784310,
+                               0.7307692307692310,
+                               0.7307692307692310,
+                               0.7307692307692310,
+                               0.7307692307692310,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7272727272727270,
+                               0.7142857142857140,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7090909090909090,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7307692307692310,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7600000000000000,
+                               0.7600000000000000,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7358490566037730,
+                               0.7407407407407410,
+                               0.7407407407407410,
+                               0.7407407407407410,
+                               0.7407407407407410,
+                               0.7547169811320760,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7647058823529410,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7777777777777780,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8518518518518520,
+                               0.8518518518518520,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8909090909090910,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8775510204081630,
+                               0.8958333333333330,
+                               0.8958333333333330,
+                               0.8958333333333330,
+                               0.8958333333333330,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8800000000000000,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8800000000000000,
+                               0.8627450980392160,
+                               0.8571428571428570,
+                               0.8541666666666670,
+                               0.8541666666666670,
+                               0.8510638297872340,
+                               0.8478260869565220,
+                               0.8478260869565220,
+                               0.8478260869565220,
+                               0.8297872340425530,
+                               0.8125000000000000,
+                               0.7959183673469390,
+                               0.7916666666666670,
+                               0.7916666666666670,
+                               0.7916666666666670,
+                               0.7916666666666670,
+                               0.7916666666666670,
+                               0.7872340425531920,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7659574468085110,
+                               0.7659574468085110,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7446808510638300,
+                               0.7446808510638300,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7555555555555560,
+                               0.7727272727272730,
+                               0.7906976744186050,
+                               0.7954545454545450,
+                               0.7954545454545450,
+                               0.7954545454545450,
+                               0.7954545454545450,
+                               0.7954545454545450,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7446808510638300,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7446808510638300,
+                               0.7446808510638300,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7608695652173910,
+                               0.7446808510638300,
+                               0.7446808510638300,
+                               0.7446808510638300,
+                               0.7555555555555560,
+                               0.7608695652173910,
+                               0.7659574468085110,
+                               0.7659574468085110,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7346938775510200,
+                               0.7291666666666670,
+                               0.7234042553191490,
+                               0.7291666666666670,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7446808510638300,
+                               0.7446808510638300,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.6938775510204080,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.7111111111111110,
+                               0.7173913043478260,
+                               0.7111111111111110,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7209302325581400,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6808510638297870,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6808510638297870,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6734693877551020,
+                               0.6666666666666670,
+                               0.6530612244897960,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6530612244897960,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6734693877551020,
+                               0.6938775510204080,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7083333333333330,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.7021276595744680,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.6938775510204080,
+                               0.6938775510204080,
+                               0.7083333333333330,
+                               0.6938775510204080,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.6862745098039220,
+                               0.6730769230769230,
+                               0.6666666666666670,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6792452830188680,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6545454545454550,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6603773584905660,
+                               0.6603773584905660,
+                               0.6603773584905660,
+                               0.6603773584905660,
+                               0.6603773584905660,
+                               0.6538461538461540,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6603773584905660,
+                               0.6730769230769230,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6800000000000000,
+                               0.6938775510204080,
+                               0.6800000000000000,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6600000000000000,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6600000000000000,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6530612244897960,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6326530612244900,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5869565217391300,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5833333333333330,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5531914893617020,
+                               0.5531914893617020,
+                               0.5531914893617020,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5434782608695650,
+                               0.5434782608695650,
+                               0.5434782608695650,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5744680851063830,
+                               0.5744680851063830,
+                               0.5744680851063830,
+                               0.5744680851063830,
+                               0.5744680851063830,
+                               0.5869565217391300,
+                               0.5869565217391300,
+                               0.5744680851063830,
+                               0.5744680851063830,
+                               0.5744680851063830,
+                               0.5744680851063830,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5714285714285710,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5800000000000000,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.6000000000000000,
+                               0.5882352941176470,
+                               0.5961538461538460,
+                               0.5849056603773580,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5961538461538460,
+                               0.6037735849056600,
+                               0.5961538461538460,
+                               0.5961538461538460,
+                               0.5961538461538460,
+                               0.5961538461538460,
+                               0.5961538461538460,
+                               0.6122448979591840,
+                               0.6078431372549020,
+                               0.6078431372549020,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6153846153846150,
+                               0.6037735849056600,
+                               0.5961538461538460,
+                               0.5961538461538460,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5818181818181820,
+                               0.5818181818181820,
+                               0.5818181818181820,
+                               0.5818181818181820,
+                               0.5818181818181820,
+                               0.5925925925925930,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.6000000000000000,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6071428571428570,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6296296296296300,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6111111111111110,
+                               0.6037735849056600,
+                               0.5925925925925930,
+                               0.5925925925925930,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6111111111111110,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.5925925925925930,
+                               0.6000000000000000,
+                               0.6037735849056600,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6226415094339620,
+                               0.6226415094339620,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6415094339622640,
+                               0.6226415094339620,
+                               0.6226415094339620,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6481481481481480,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6481481481481480,
+                               0.6545454545454550,
+                               0.6545454545454550,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6491228070175440,
+                               0.6491228070175440,
+                               0.6491228070175440,
+                               0.6491228070175440,
+                               0.6607142857142860,
+                               0.6666666666666670,
+                               0.6603773584905660,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6470588235294120,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6666666666666670,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6200000000000000,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6326530612244900,
+                               0.6530612244897960,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6530612244897960,
+                               0.6600000000000000,
+                               0.6600000000000000,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6530612244897960,
+                               0.6400000000000000,
+                               0.6274509803921570,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.5961538461538460,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.5961538461538460,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.5849056603773580,
+                               0.6000000000000000,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6037735849056600,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6111111111111110,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6226415094339620,
+                               0.6226415094339620,
+                               0.6037735849056600,
+                               0.6037735849056600,
+                               0.6111111111111110,
+                               0.6181818181818180,
+                               0.6071428571428570,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5862068965517240,
+                               0.5862068965517240,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5789473684210530,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5789473684210530,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.5892857142857140,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6111111111111110,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6862745098039220,
+                               0.7000000000000000,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.6862745098039220,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7200000000000000,
+                               0.7346938775510200,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.7058823529411760,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6909090909090910,
+                               0.6909090909090910,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7090909090909090,
+                               0.7222222222222220,
+                               0.7358490566037730,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7272727272727270,
+                               0.7142857142857140,
+                               0.7192982456140350,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7241379310344830,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7413793103448280,
+                               0.7543859649122810,
+                               0.7543859649122810,
+                               0.7543859649122810,
+                               0.7543859649122810,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8070175438596490,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8035714285714290,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8103448275862070,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8363636363636360,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8400000000000000,
+                               0.8400000000000000,
+                               0.8400000000000000,
+                               0.8400000000000000,
+                               0.8400000000000000,
+                               0.8400000000000000,
+                               0.8431372549019610,
+                               0.8431372549019610,
+                               0.8431372549019610,
+                               0.8431372549019610,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8936170212765960,
+                               0.8936170212765960,
+                               0.8936170212765960,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8222222222222220,
+                               0.8043478260869560,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7755102040816330,
+                               0.7755102040816330,
+                               0.7755102040816330,
+                               0.7755102040816330,
+                               0.7755102040816330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7234042553191490,
+                               0.7083333333333330,
+                               0.7021276595744680,
+                               0.6875000000000000,
+                               0.6734693877551020,
+                               0.6734693877551020,
+                               0.6666666666666670,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6666666666666670,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6666666666666670,
+                               0.6739130434782610,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.7045454545454550,
+                               0.7045454545454550,
+                               0.7045454545454550,
+                               0.7209302325581400,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7173913043478260,
+                               0.7173913043478260,
+                               0.7111111111111110,
+                               0.7111111111111110,
+                               0.7272727272727270,
+                               0.7441860465116280,
+                               0.7441860465116280,
+                               0.7441860465116280,
+                               0.7500000000000000,
+                               0.7333333333333330,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7446808510638300,
+                               0.7446808510638300,
+                               0.7291666666666670,
+                               0.7500000000000000,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7600000000000000,
+                               0.7600000000000000,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7600000000000000,
+                               0.7600000000000000,
+                               0.7600000000000000,
+                               0.7600000000000000,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7551020408163260,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7200000000000000,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7200000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7551020408163260,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7446808510638300,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7391304347826090,
+                               0.7446808510638300,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7291666666666670,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7142857142857140,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7142857142857140,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.6938775510204080,
+                               0.6938775510204080,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7173913043478260,
+                               0.7173913043478260,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7111111111111110,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6808510638297870,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6888888888888890,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6976744186046510,
+                               0.6976744186046510,
+                               0.7209302325581400,
+                               0.7142857142857140,
+                               0.6976744186046510,
+                               0.6976744186046510,
+                               0.6976744186046510,
+                               0.6818181818181820,
+                               0.6666666666666670,
+                               0.6382978723404260,
+                               0.6122448979591840,
+                               0.6122448979591840,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.6000000000000000,
+                               0.6122448979591840,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6122448979591840,
+                               0.6122448979591840,
+                               0.6200000000000000,
+                               0.6200000000000000,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6458333333333330,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6521739130434780,
+                               0.6521739130434780,
+                               0.6521739130434780,
+                               0.6595744680851060,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6956521739130430,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7272727272727270,
+                               0.7111111111111110,
+                               0.7111111111111110,
+                               0.7173913043478260,
+                               0.7111111111111110,
+                               0.7111111111111110,
+                               0.6956521739130430,
+                               0.6808510638297870,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6590909090909090,
+                               0.6590909090909090,
+                               0.6590909090909090,
+                               0.6590909090909090,
+                               0.6590909090909090,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6521739130434780,
+                               0.6521739130434780,
+                               0.6521739130434780,
+                               0.6444444444444440,
+                               0.6521739130434780,
+                               0.6521739130434780,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6521739130434780,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6521739130434780,
+                               0.6521739130434780,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6458333333333330,
+                               0.6458333333333330,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6458333333333330,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6400000000000000,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6200000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6122448979591840,
+                               0.6122448979591840,
+                               0.6122448979591840,
+                               0.6122448979591840,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6122448979591840,
+                               0.6122448979591840,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6304347826086960,
+                               0.6304347826086960,
+                               0.6304347826086960,
+                               0.6304347826086960,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6304347826086960,
+                               0.6304347826086960,
+                               0.6304347826086960,
+                               0.6304347826086960,
+                               0.6382978723404260,
+                               0.6304347826086960,
+                               0.6444444444444440,
+                               0.6590909090909090,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6222222222222220,
+                               0.6136363636363640,
+                               0.6046511627906980,
+                               0.6046511627906980,
+                               0.6046511627906980,
+                               0.6046511627906980,
+                               0.6136363636363640,
+                               0.6136363636363640,
+                               0.6136363636363640,
+                               0.6136363636363640,
+                               0.6136363636363640,
+                               0.6136363636363640,
+                               0.6136363636363640,
+                               0.6136363636363640,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6363636363636360,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6222222222222220,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6590909090909090,
+                               0.6590909090909090,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6585365853658540,
+                               0.6829268292682930,
+                               0.6904761904761900,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6904761904761900,
+                               0.6904761904761900,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6904761904761900,
+                               0.6904761904761900,
+                               0.6904761904761900,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6904761904761900,
+                               0.6904761904761900,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6590909090909090,
+                               0.6590909090909090,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6590909090909090,
+                               0.6590909090909090,
+                               0.6511627906976740,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6170212765957450,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.6086956521739130,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6136363636363640,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6511627906976740,
+                               0.6511627906976740,
+                               0.6511627906976740,
+                               0.6590909090909090,
+                               0.6744186046511630,
+                               0.6744186046511630,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6739130434782610,
+                               0.6595744680851060,
+                               0.6595744680851060,
+                               0.6739130434782610,
+                               0.6976744186046510,
+                               0.6818181818181820,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6956521739130430,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6739130434782610,
+                               0.6739130434782610,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6739130434782610,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.7045454545454550,
+                               0.7045454545454550,
+                               0.7045454545454550,
+                               0.7045454545454550,
+                               0.6739130434782610,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6808510638297870,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.6875000000000000,
+                               0.7021276595744680,
+                               0.7173913043478260,
+                               0.7173913043478260,
+                               0.7234042553191490,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7083333333333330,
+                               0.7234042553191490,
+                               0.7234042553191490,
+                               0.7234042553191490,
+                               0.7234042553191490,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.6938775510204080,
+                               0.6938775510204080,
+                               0.6938775510204080,
+                               0.6938775510204080,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7291666666666670,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7659574468085110,
+                               0.7659574468085110,
+                               0.7826086956521740,
+                               0.7826086956521740,
+                               0.8043478260869560,
+                               0.8043478260869560,
+                               0.8043478260869560,
+                               0.8043478260869560,
+                               0.7826086956521740,
+                               0.7826086956521740,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.7826086956521740,
+                               0.7826086956521740,
+                               0.8043478260869560,
+                               0.8043478260869560,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7708333333333330,
+                               0.7755102040816330,
+                               0.7916666666666670,
+                               0.8085106382978720,
+                               0.8085106382978720,
+                               0.8125000000000000,
+                               0.8085106382978720,
+                               0.8085106382978720,
+                               0.8085106382978720,
+                               0.8085106382978720,
+                               0.8085106382978720,
+                               0.8260869565217390,
+                               0.8297872340425530,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8163265306122450,
+                               0.8125000000000000,
+                               0.8085106382978720,
+                               0.8085106382978720,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8222222222222220,
+                               0.8297872340425530,
+                               0.8297872340425530,
+                               0.8297872340425530,
+                               0.8297872340425530,
+                               0.8297872340425530,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8163265306122450,
+                               0.8163265306122450,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8541666666666670,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8541666666666670,
+                               0.8541666666666670,
+                               0.8541666666666670,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8723404255319150,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8775510204081630,
+                               0.8958333333333330,
+                               0.8958333333333330,
+                               0.8958333333333330,
+                               0.8958333333333330,
+                               0.8958333333333330,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.8979591836734690,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.8979591836734690,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9200000000000000,
+                               0.9183673469387750,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9019607843137260,
+                               0.9019607843137260,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9038461538461540,
+                               0.9056603773584910,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9074074074074070,
+                               0.9090909090909090,
+                               0.9259259259259260,
+                               0.9272727272727270,
+                               0.9272727272727270,
+                               0.9272727272727270,
+                               0.9285714285714290,
+                               0.9454545454545450,
+                               0.9454545454545450,
+                               0.9464285714285710,
+                               0.9464285714285710,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9636363636363640,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9642857142857140,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9649122807017540,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9824561403508770,
+                               0.9824561403508770,
+                               0.9824561403508770
+                       }
+               },
+               { PLACE_CATEG_ID_WORK,
+                       {
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0377358490566038,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1698113207547170,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2115384615384620,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2641509433962260,
+                               0.2641509433962260,
+                               0.2641509433962260,
+                               0.2692307692307690,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2916666666666670,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.2916666666666670,
+                               0.3200000000000000,
+                               0.3333333333333330,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3529411764705880,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.4000000000000000,
+                               0.4117647058823530,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4489795918367350,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.5111111111111110,
+                               0.5217391304347830,
+                               0.5217391304347830,
+                               0.5217391304347830,
+                               0.5217391304347830,
+                               0.5217391304347830,
+                               0.5217391304347830,
+                               0.5319148936170210,
+                               0.5434782608695650,
+                               0.5434782608695650,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5652173913043480,
+                               0.5777777777777780,
+                               0.5777777777777780,
+                               0.5777777777777780,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6086956521739130,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6444444444444440,
+                               0.6444444444444440,
+                               0.6744186046511630,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6818181818181820,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.6888888888888890,
+                               0.7045454545454550,
+                               0.7045454545454550,
+                               0.7045454545454550,
+                               0.7346938775510200,
+                               0.7346938775510200,
+                               0.7400000000000000,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8947368421052630,
+                               0.8947368421052630,
+                               0.8947368421052630,
+                               0.8947368421052630,
+                               0.8947368421052630,
+                               0.8947368421052630,
+                               0.8965517241379310,
+                               0.8965517241379310,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8833333333333330,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8852459016393440,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.8870967741935480,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9016393442622950,
+                               0.9016393442622950,
+                               0.9016393442622950,
+                               0.9016393442622950,
+                               0.9016393442622950,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8983050847457630,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8666666666666670,
+                               0.8644067796610170,
+                               0.8666666666666670,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8360655737704920,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8644067796610170,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8644067796610170,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8524590163934430,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8688524590163930,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8833333333333330,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8793103448275860,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8214285714285710,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8000000000000000,
+                               0.7962962962962960,
+                               0.7818181818181820,
+                               0.7777777777777780,
+                               0.7735849056603770,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7735849056603770,
+                               0.7735849056603770,
+                               0.7692307692307690,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7592592592592590,
+                               0.7454545454545450,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7192982456140350,
+                               0.7068965517241380,
+                               0.7068965517241380,
+                               0.7017543859649120,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7272727272727270,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7017543859649120,
+                               0.7017543859649120,
+                               0.7017543859649120,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.6964285714285710,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7090909090909090,
+                               0.6964285714285710,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.6964285714285710,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7017543859649120,
+                               0.6785714285714290,
+                               0.6607142857142860,
+                               0.6491228070175440,
+                               0.6491228070175440,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6363636363636360,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6111111111111110,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6226415094339620,
+                               0.6153846153846150,
+                               0.6153846153846150,
+                               0.6274509803921570,
+                               0.6037735849056600,
+                               0.5961538461538460,
+                               0.6078431372549020,
+                               0.6078431372549020,
+                               0.6078431372549020,
+                               0.5961538461538460,
+                               0.5882352941176470,
+                               0.5769230769230770,
+                               0.5769230769230770,
+                               0.5600000000000000,
+                               0.5510204081632650,
+                               0.5510204081632650,
+                               0.5510204081632650,
+                               0.5510204081632650,
+                               0.5400000000000000,
+                               0.5102040816326530,
+                               0.5102040816326530,
+                               0.5102040816326530,
+                               0.5102040816326530,
+                               0.5102040816326530,
+                               0.5000000000000000,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.4680851063829790,
+                               0.4565217391304350,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3469387755102040,
+                               0.3111111111111110,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3170731707317070,
+                               0.3170731707317070,
+                               0.2790697674418600,
+                               0.2790697674418600,
+                               0.2727272727272730,
+                               0.2558139534883720,
+                               0.2558139534883720,
+                               0.2558139534883720,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2444444444444440,
+                               0.2444444444444440,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1702127659574470,
+                               0.1666666666666670,
+                               0.1632653061224490,
+                               0.1632653061224490,
+                               0.1600000000000000,
+                               0.1428571428571430,
+                               0.1400000000000000,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1538461538461540,
+                               0.1698113207547170,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1372549019607840,
+                               0.1346153846153850,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1272727272727270,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1090909090909090,
+                               0.1071428571428570,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.1090909090909090,
+                               0.0925925925925926,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.0869565217391304,
+                               0.0888888888888889,
+                               0.0888888888888889,
+                               0.0888888888888889,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0888888888888889,
+                               0.0888888888888889,
+                               0.0888888888888889,
+                               0.0888888888888889,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0851063829787234,
+                               0.0851063829787234,
+                               0.0851063829787234,
+                               0.1041666666666670,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0816326530612245,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0961538461538462,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1000000000000000,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0740740740740741,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0338983050847458,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0545454545454545,
+                               0.0535714285714286,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1818181818181820,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.2000000000000000,
+                               0.2037037037037040,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2407407407407410,
+                               0.2407407407407410,
+                               0.2452830188679250,
+                               0.2452830188679250,
+                               0.2452830188679250,
+                               0.2500000000000000,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2745098039215690,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3137254901960780,
+                               0.3269230769230770,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3461538461538460,
+                               0.3653846153846150,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4200000000000000,
+                               0.4313725490196080,
+                               0.4313725490196080,
+                               0.4313725490196080,
+                               0.4313725490196080,
+                               0.4313725490196080,
+                               0.4313725490196080,
+                               0.4313725490196080,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4200000000000000,
+                               0.4313725490196080,
+                               0.4313725490196080,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4615384615384620,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.5098039215686270,
+                               0.5200000000000000,
+                               0.5306122448979590,
+                               0.5306122448979590,
+                               0.5306122448979590,
+                               0.5306122448979590,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.5957446808510640,
+                               0.6041666666666670,
+                               0.6041666666666670,
+                               0.6122448979591840,
+                               0.6122448979591840,
+                               0.6326530612244900,
+                               0.6400000000000000,
+                               0.6470588235294120,
+                               0.6470588235294120,
+                               0.6600000000000000,
+                               0.6600000000000000,
+                               0.6600000000000000,
+                               0.7021276595744680,
+                               0.7021276595744680,
+                               0.7173913043478260,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7333333333333330,
+                               0.7727272727272730,
+                               0.7826086956521740,
+                               0.7872340425531920,
+                               0.7916666666666670,
+                               0.8163265306122450,
+                               0.8163265306122450,
+                               0.8200000000000000,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8148148148148150,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8275862068965520,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8709677419354840,
+                               0.8709677419354840,
+                               0.8593750000000000,
+                               0.8730158730158730,
+                               0.8730158730158730,
+                               0.8730158730158730,
+                               0.8593750000000000,
+                               0.8593750000000000,
+                               0.8593750000000000,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8769230769230770,
+                               0.8769230769230770,
+                               0.8906250000000000,
+                               0.8906250000000000,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9166666666666670,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9152542372881350,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9166666666666670,
+                               0.9016393442622950,
+                               0.9016393442622950,
+                               0.9016393442622950,
+                               0.9032258064516130,
+                               0.9047619047619050,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9062500000000000,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9076923076923080,
+                               0.9230769230769230,
+                               0.9230769230769230,
+                               0.9230769230769230,
+                               0.9218750000000000,
+                               0.9206349206349210,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9218750000000000,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9365079365079360,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9508196721311470,
+                               0.9508196721311470,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9354838709677420,
+                               0.9333333333333330,
+                               0.9310344827586210,
+                               0.9298245614035090,
+                               0.9122807017543860,
+                               0.9122807017543860,
+                               0.9122807017543860,
+                               0.9122807017543860,
+                               0.9107142857142860,
+                               0.9090909090909090,
+                               0.9259259259259260,
+                               0.9259259259259260,
+                               0.9259259259259260,
+                               0.9259259259259260,
+                               0.9272727272727270,
+                               0.9259259259259260,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9298245614035090,
+                               0.9310344827586210,
+                               0.9310344827586210,
+                               0.9333333333333330,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9344262295081970,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9333333333333330,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9322033898305080,
+                               0.9482758620689660,
+                               0.9482758620689660,
+                               0.9473684210526320,
+                               0.9482758620689660,
+                               0.9482758620689660,
+                               0.9473684210526320,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9482758620689660,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9508196721311470,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9491525423728810,
+                               0.9491525423728810,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9508196721311470,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9661016949152540,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9655172413793100,
+                               0.9661016949152540,
+                               0.9661016949152540,
+                               0.9661016949152540,
+                               0.9661016949152540,
+                               0.9661016949152540,
+                               0.9661016949152540,
+                               0.9661016949152540,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9500000000000000,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9516129032258060,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9687500000000000,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9677419354838710,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9682539682539680,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9531250000000000,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9393939393939390,
+                               0.9393939393939390,
+                               0.9393939393939390,
+                               0.9393939393939390,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9538461538461540,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9516129032258060,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9523809523809520,
+                               0.9516129032258060,
+                               0.9365079365079360,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9206349206349210,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9193548387096770,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9180327868852460,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.9032258064516130,
+                               0.8870967741935480,
+                               0.8593750000000000,
+                               0.8571428571428570,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8500000000000000,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8360655737704920,
+                               0.8333333333333330,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8064516129032260,
+                               0.7936507936507940,
+                               0.7812500000000000,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7656250000000000,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7692307692307690,
+                               0.7656250000000000,
+                               0.7656250000000000,
+                               0.7619047619047620,
+                               0.7619047619047620,
+                               0.7619047619047620,
+                               0.7619047619047620,
+                               0.7619047619047620,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7343750000000000,
+                               0.7343750000000000,
+                               0.7343750000000000,
+                               0.7343750000000000,
+                               0.7343750000000000,
+                               0.7343750000000000,
+                               0.7343750000000000,
+                               0.7230769230769230,
+                               0.7187500000000000,
+                               0.7187500000000000,
+                               0.7187500000000000,
+                               0.7230769230769230,
+                               0.7230769230769230,
+                               0.7230769230769230,
+                               0.7142857142857140,
+                               0.7258064516129030,
+                               0.7213114754098360,
+                               0.7213114754098360,
+                               0.7213114754098360,
+                               0.7288135593220340,
+                               0.7321428571428570,
+                               0.7321428571428570,
+                               0.7321428571428570,
+                               0.7192982456140350,
+                               0.7272727272727270,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7090909090909090,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7222222222222220,
+                               0.7307692307692310,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.6909090909090910,
+                               0.6909090909090910,
+                               0.6785714285714290,
+                               0.6785714285714290,
+                               0.6785714285714290,
+                               0.6551724137931030,
+                               0.6551724137931030,
+                               0.6491228070175440,
+                               0.6428571428571430,
+                               0.6545454545454550,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6481481481481480,
+                               0.6296296296296300,
+                               0.6274509803921570,
+                               0.6274509803921570,
+                               0.6153846153846150,
+                               0.6000000000000000,
+                               0.5918367346938780,
+                               0.5918367346938780,
+                               0.5800000000000000,
+                               0.5800000000000000,
+                               0.5800000000000000,
+                               0.5800000000000000,
+                               0.5686274509803920,
+                               0.5686274509803920,
+                               0.5714285714285710,
+                               0.5714285714285710,
+                               0.5714285714285710,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5600000000000000,
+                               0.5510204081632650,
+                               0.5510204081632650,
+                               0.5510204081632650,
+                               0.5510204081632650,
+                               0.5192307692307690,
+                               0.5000000000000000,
+                               0.4821428571428570,
+                               0.4821428571428570,
+                               0.4821428571428570,
+                               0.4727272727272730,
+                               0.4727272727272730,
+                               0.4727272727272730,
+                               0.4561403508771930,
+                               0.4642857142857140,
+                               0.4642857142857140,
+                               0.4642857142857140,
+                               0.4642857142857140,
+                               0.4642857142857140,
+                               0.4464285714285710,
+                               0.4545454545454550,
+                               0.4629629629629630,
+                               0.4629629629629630,
+                               0.4629629629629630,
+                               0.4509803921568630,
+                               0.4230769230769230,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4038461538461540,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.3962264150943400,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.3962264150943400,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3269230769230770,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2553191489361700,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2444444444444440,
+                               0.2391304347826090,
+                               0.2340425531914890,
+                               0.2500000000000000,
+                               0.2340425531914890,
+                               0.2340425531914890,
+                               0.2340425531914890,
+                               0.2340425531914890,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2244897959183670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2083333333333330,
+                               0.2040816326530610,
+                               0.1875000000000000,
+                               0.1702127659574470,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.2040816326530610,
+                               0.2040816326530610,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1886792452830190,
+                               0.1698113207547170,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0847457627118644,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0806451612903226,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0491803278688525,
+                               0.0500000000000000,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0476190476190476,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0468750000000000,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0149253731343284,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1186440677966100,
+                               0.1166666666666670,
+                               0.1311475409836070,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1355932203389830,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1666666666666670,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1818181818181820,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.2181818181818180,
+                               0.2222222222222220,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2307692307692310,
+                               0.2352941176470590,
+                               0.2448979591836730,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2549019607843140,
+                               0.2600000000000000,
+                               0.2745098039215690,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.2884615384615380,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.3076923076923080,
+                               0.3137254901960780,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3207547169811320,
+                               0.3454545454545450,
+                               0.3454545454545450,
+                               0.3454545454545450,
+                               0.3454545454545450,
+                               0.3454545454545450,
+                               0.3454545454545450,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3750000000000000,
+                               0.3750000000000000,
+                               0.3859649122807020,
+                               0.3965517241379310,
+                               0.4181818181818180,
+                               0.4181818181818180,
+                               0.4363636363636360,
+                               0.4363636363636360,
+                               0.4464285714285710,
+                               0.4464285714285710,
+                               0.4727272727272730,
+                               0.4821428571428570,
+                               0.4821428571428570,
+                               0.4912280701754390,
+                               0.5172413793103450,
+                               0.5172413793103450,
+                               0.5263157894736840,
+                               0.5263157894736840,
+                               0.5263157894736840,
+                               0.5263157894736840,
+                               0.5263157894736840,
+                               0.5263157894736840,
+                               0.5660377358490570,
+                               0.5660377358490570,
+                               0.5660377358490570,
+                               0.5660377358490570,
+                               0.5660377358490570,
+                               0.5740740740740740,
+                               0.5818181818181820,
+                               0.5818181818181820,
+                               0.5925925925925930,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6111111111111110,
+                               0.6470588235294120,
+                               0.6666666666666670,
+                               0.6800000000000000,
+                               0.6938775510204080,
+                               0.6938775510204080,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7200000000000000,
+                               0.7200000000000000,
+                               0.7400000000000000,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7358490566037730,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7547169811320760,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.8064516129032260,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8382352941176470,
+                               0.8405797101449270,
+                               0.8405797101449270,
+                               0.8382352941176470,
+                               0.8382352941176470,
+                               0.8382352941176470,
+                               0.8382352941176470,
+                               0.8382352941176470,
+                               0.8428571428571430,
+                               0.8450704225352110,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8676470588235290,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8787878787878790,
+                               0.8787878787878790,
+                               0.8787878787878790,
+                               0.8787878787878790,
+                               0.8787878787878790,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8840579710144930,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8985507246376810,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9130434782608700,
+                               0.9117647058823530,
+                               0.9130434782608700,
+                               0.9117647058823530,
+                               0.9104477611940300,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9090909090909090,
+                               0.9062500000000000,
+                               0.9076923076923080,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.9047619047619050,
+                               0.8769230769230770,
+                               0.8750000000000000,
+                               0.8730158730158730,
+                               0.8730158730158730,
+                               0.8730158730158730,
+                               0.8730158730158730,
+                               0.8730158730158730,
+                               0.8730158730158730,
+                               0.8593750000000000,
+                               0.8593750000000000,
+                               0.8615384615384620,
+                               0.8615384615384620,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8548387096774190,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8666666666666670,
+                               0.8709677419354840,
+                               0.8593750000000000,
+                               0.8593750000000000,
+                               0.8593750000000000,
+                               0.8593750000000000,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8636363636363640,
+                               0.8695652173913040,
+                               0.8695652173913040,
+                               0.8714285714285710,
+                               0.8714285714285710,
+                               0.8714285714285710,
+                               0.8714285714285710,
+                               0.8714285714285710,
+                               0.8714285714285710,
+                               0.8714285714285710,
+                               0.8714285714285710,
+                               0.8732394366197180,
+                               0.8732394366197180,
+                               0.8857142857142860,
+                               0.8840579710144930,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8955223880597010,
+                               0.8939393939393940,
+                               0.8955223880597010,
+                               0.8970588235294120,
+                               0.8985507246376810,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.8985507246376810,
+                               0.8985507246376810,
+                               0.8985507246376810,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8955223880597010,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8970588235294120,
+                               0.8985507246376810,
+                               0.8985507246376810,
+                               0.9000000000000000,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9154929577464790,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9178082191780820,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9166666666666670,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9295774647887320,
+                               0.9305555555555560,
+                               0.9305555555555560,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9436619718309860,
+                               0.9444444444444440,
+                               0.9444444444444440,
+                               0.9436619718309860,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9428571428571430,
+                               0.9295774647887320,
+                               0.9285714285714290,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9275362318840580,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9142857142857140,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9154929577464790,
+                               0.9285714285714290,
+                               0.9275362318840580,
+                               0.9264705882352940,
+                               0.9264705882352940,
+                               0.9264705882352940,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9253731343283580,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9104477611940300,
+                               0.9117647058823530,
+                               0.9117647058823530,
+                               0.9130434782608700,
+                               0.9117647058823530,
+                               0.9130434782608700,
+                               0.9000000000000000,
+                               0.9000000000000000,
+                               0.8873239436619720,
+                               0.8873239436619720,
+                               0.8857142857142860,
+                               0.8840579710144930,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8823529411764710,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8656716417910450,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8382352941176470,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8260869565217390,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8260869565217390,
+                               0.8382352941176470,
+                               0.8382352941176470,
+                               0.8382352941176470,
+                               0.8382352941176470,
+                               0.8358208955223880,
+                               0.8484848484848480,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8333333333333330,
+                               0.8208955223880600,
+                               0.8208955223880600,
+                               0.8208955223880600,
+                               0.8208955223880600,
+                               0.8208955223880600,
+                               0.8208955223880600,
+                               0.8208955223880600,
+                               0.8088235294117650,
+                               0.8059701492537310,
+                               0.8030303030303030,
+                               0.8030303030303030,
+                               0.8030303030303030,
+                               0.8030303030303030,
+                               0.8030303030303030,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.7878787878787880,
+                               0.7878787878787880,
+                               0.7761194029850750,
+                               0.7761194029850750,
+                               0.7727272727272730,
+                               0.7656250000000000,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7903225806451610,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.8032786885245900,
+                               0.8000000000000000,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7833333333333330,
+                               0.7833333333333330,
+                               0.7540983606557380,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7377049180327870,
+                               0.7258064516129030,
+                               0.7258064516129030,
+                               0.7258064516129030,
+                               0.7258064516129030,
+                               0.7258064516129030,
+                               0.7213114754098360,
+                               0.7213114754098360,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7166666666666670,
+                               0.7118644067796610,
+                               0.7017543859649120,
+                               0.7090909090909090,
+                               0.6842105263157900,
+                               0.6842105263157900,
+                               0.6724137931034480,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6607142857142860,
+                               0.6545454545454550,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6545454545454550,
+                               0.6481481481481480,
+                               0.6603773584905660,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.6415094339622640,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5833333333333330,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5510204081632650,
+                               0.5416666666666670,
+                               0.5416666666666670,
+                               0.5306122448979590,
+                               0.5000000000000000,
+                               0.4814814814814810,
+                               0.4385964912280700,
+                               0.4482758620689660,
+                               0.4310344827586210,
+                               0.4237288135593220,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.3833333333333330,
+                               0.3898305084745760,
+                               0.3898305084745760,
+                               0.3898305084745760,
+                               0.3793103448275860,
+                               0.3793103448275860,
+                               0.3728813559322030,
+                               0.3728813559322030,
+                               0.3728813559322030,
+                               0.3666666666666670,
+                               0.3606557377049180,
+                               0.3606557377049180,
+                               0.3548387096774190,
+                               0.3548387096774190,
+                               0.3437500000000000,
+                               0.3437500000000000,
+                               0.3437500000000000,
+                               0.3437500000000000,
+                               0.3281250000000000,
+                               0.3230769230769230,
+                               0.3230769230769230,
+                               0.3333333333333330,
+                               0.3225806451612900,
+                               0.3278688524590160,
+                               0.2931034482758620,
+                               0.2931034482758620,
+                               0.2881355932203390,
+                               0.2881355932203390,
+                               0.2881355932203390,
+                               0.2711864406779660,
+                               0.2786885245901640,
+                               0.2741935483870970,
+                               0.2542372881355930,
+                               0.2542372881355930,
+                               0.2542372881355930,
+                               0.2500000000000000,
+                               0.2459016393442620,
+                               0.2459016393442620,
+                               0.2459016393442620,
+                               0.2459016393442620,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2333333333333330,
+                               0.2295081967213110,
+                               0.2295081967213110,
+                               0.2295081967213110,
+                               0.2333333333333330,
+                               0.2203389830508470,
+                               0.2203389830508470,
+                               0.2166666666666670,
+                               0.2166666666666670,
+                               0.2131147540983610,
+                               0.2096774193548390,
+                               0.2307692307692310,
+                               0.2187500000000000,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2131147540983610,
+                               0.2000000000000000,
+                               0.2131147540983610,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1967213114754100,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1875000000000000,
+                               0.1846153846153850,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1818181818181820,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1791044776119400,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.2033898305084750,
+                               0.2033898305084750,
+                               0.2033898305084750,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.2142857142857140,
+                               0.2142857142857140,
+                               0.2105263157894740,
+                               0.2142857142857140,
+                               0.2142857142857140,
+                               0.2181818181818180,
+                               0.2181818181818180,
+                               0.2181818181818180,
+                               0.2181818181818180,
+                               0.2181818181818180,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2075471698113210,
+                               0.2037037037037040,
+                               0.2075471698113210,
+                               0.1886792452830190,
+                               0.1818181818181820,
+                               0.1666666666666670,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1754385964912280,
+                               0.1785714285714290,
+                               0.1636363636363640,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1551724137931030,
+                               0.1551724137931030,
+                               0.1525423728813560,
+                               0.1525423728813560,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1403508771929820,
+                               0.1403508771929820,
+                               0.1403508771929820,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1355932203389830,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1166666666666670,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0895522388059701,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0882352941176471,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0909090909090909,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0882352941176471,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0869565217391304,
+                               0.0735294117647059,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0606060606060606,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0298507462686567,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0298507462686567,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0135135135135135,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0862068965517241,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1034482758620690,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.2096774193548390,
+                               0.2131147540983610,
+                               0.2258064516129030,
+                               0.2295081967213110,
+                               0.2295081967213110,
+                               0.2372881355932200,
+                               0.2542372881355930,
+                               0.2542372881355930,
+                               0.2586206896551720,
+                               0.2586206896551720,
+                               0.2631578947368420,
+                               0.2678571428571430,
+                               0.2678571428571430,
+                               0.2807017543859650,
+                               0.2807017543859650,
+                               0.2807017543859650,
+                               0.2807017543859650,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2982456140350880,
+                               0.3103448275862070,
+                               0.3275862068965520,
+                               0.3389830508474580,
+                               0.3448275862068970,
+                               0.3684210526315790,
+                               0.3684210526315790,
+                               0.3859649122807020,
+                               0.3965517241379310,
+                               0.3965517241379310,
+                               0.3965517241379310,
+                               0.3965517241379310,
+                               0.3965517241379310,
+                               0.3898305084745760,
+                               0.3898305084745760,
+                               0.3898305084745760,
+                               0.3898305084745760,
+                               0.4000000000000000,
+                               0.4067796610169490,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4067796610169490,
+                               0.4067796610169490,
+                               0.4166666666666670,
+                               0.4333333333333330,
+                               0.4333333333333330,
+                               0.4406779661016950,
+                               0.4406779661016950,
+                               0.4406779661016950,
+                               0.4333333333333330,
+                               0.4262295081967210,
+                               0.4426229508196720,
+                               0.4736842105263160,
+                               0.4827586206896550,
+                               0.4915254237288140,
+                               0.5000000000000000,
+                               0.5084745762711860,
+                               0.5084745762711860,
+                               0.5172413793103450,
+                               0.5172413793103450,
+                               0.5172413793103450,
+                               0.5172413793103450,
+                               0.5344827586206900,
+                               0.5344827586206900,
+                               0.5636363636363640,
+                               0.5636363636363640,
+                               0.6037735849056600,
+                               0.6111111111111110,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6111111111111110,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6181818181818180,
+                               0.6296296296296300,
+                               0.6296296296296300,
+                               0.6415094339622640,
+                               0.6666666666666670,
+                               0.6800000000000000,
+                               0.6938775510204080,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.7115384615384620,
+                               0.7115384615384620,
+                               0.7115384615384620,
+                               0.7169811320754720,
+                               0.7413793103448280,
+                               0.7413793103448280,
+                               0.7413793103448280,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7627118644067800,
+                               0.7627118644067800,
+                               0.7741935483870970,
+                               0.7741935483870970,
+                               0.7741935483870970,
+                               0.7868852459016390,
+                               0.7903225806451610,
+                               0.7903225806451610,
+                               0.7936507936507940,
+                               0.7936507936507940,
+                               0.7936507936507940,
+                               0.7936507936507940,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8125000000000000,
+                               0.8153846153846150,
+                               0.8153846153846150,
+                               0.8153846153846150,
+                               0.8153846153846150,
+                               0.8153846153846150,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8358208955223880,
+                               0.8382352941176470,
+                               0.8358208955223880,
+                               0.8507462686567160,
+                               0.8507462686567160,
+                               0.8507462686567160,
+                               0.8507462686567160,
+                               0.8507462686567160,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8805970149253730,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8805970149253730,
+                               0.8939393939393940,
+                               0.8923076923076920,
+                               0.8923076923076920,
+                               0.8923076923076920,
+                               0.8787878787878790,
+                               0.8787878787878790,
+                               0.8656716417910450,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8550724637681160,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8529411764705880,
+                               0.8656716417910450,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8676470588235290,
+                               0.8550724637681160,
+                               0.8428571428571430,
+                               0.8428571428571430,
+                               0.8428571428571430,
+                               0.8428571428571430,
+                               0.8428571428571430,
+                               0.8428571428571430,
+                               0.8428571428571430,
+                               0.8428571428571430,
+                               0.8405797101449270,
+                               0.8405797101449270,
+                               0.8405797101449270,
+                               0.8285714285714290,
+                               0.8285714285714290,
+                               0.8285714285714290,
+                               0.8285714285714290,
+                               0.8285714285714290,
+                               0.8285714285714290,
+                               0.8235294117647060,
+                               0.8484848484848480,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8461538461538460,
+                               0.8437500000000000,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8208955223880600,
+                               0.8208955223880600,
+                               0.8088235294117650,
+                               0.8088235294117650,
+                               0.8088235294117650,
+                               0.8088235294117650,
+                               0.8088235294117650,
+                               0.8088235294117650,
+                               0.8088235294117650,
+                               0.8088235294117650,
+                               0.7971014492753620,
+                               0.7826086956521740,
+                               0.7826086956521740,
+                               0.7794117647058820,
+                               0.7794117647058820,
+                               0.7910447761194030,
+                               0.8030303030303030,
+                               0.8030303030303030,
+                               0.8000000000000000,
+                               0.7878787878787880,
+                               0.7878787878787880,
+                               0.8000000000000000,
+                               0.7936507936507940,
+                               0.7777777777777780,
+                               0.7580645161290320,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7457627118644070,
+                               0.7096774193548390,
+                               0.7166666666666670,
+                               0.7213114754098360,
+                               0.7213114754098360,
+                               0.7213114754098360,
+                               0.7213114754098360,
+                               0.7213114754098360,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.6984126984126980,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.7076923076923080,
+                               0.7076923076923080,
+                               0.7076923076923080,
+                               0.7076923076923080,
+                               0.7076923076923080,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.7031250000000000,
+                               0.6923076923076920,
+                               0.7031250000000000,
+                               0.6984126984126980,
+                               0.7031250000000000,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.7096774193548390,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6984126984126980,
+                               0.6935483870967740,
+                               0.6825396825396830,
+                               0.6825396825396830,
+                               0.6984126984126980,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7096774193548390,
+                               0.7213114754098360,
+                               0.7540983606557380,
+                               0.7540983606557380,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7758620689655170,
+                               0.7931034482758620,
+                               0.8000000000000000,
+                               0.8000000000000000,
+                               0.8064516129032260,
+                               0.8196721311475410,
+                               0.8253968253968250,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8412698412698410,
+                               0.8437500000000000,
+                               0.8437500000000000,
+                               0.8437500000000000,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8500000000000000,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8500000000000000,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8524590163934430,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8548387096774190,
+                               0.8412698412698410,
+                               0.8437500000000000,
+                               0.8437500000000000,
+                               0.8437500000000000,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8307692307692310,
+                               0.8181818181818180,
+                               0.8181818181818180,
+                               0.8153846153846150,
+                               0.8153846153846150,
+                               0.8281250000000000,
+                               0.8281250000000000,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8095238095238100,
+                               0.8095238095238100,
+                               0.8225806451612900,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8360655737704920,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8474576271186440,
+                               0.8500000000000000,
+                               0.8500000000000000,
+                               0.8333333333333330,
+                               0.8333333333333330,
+                               0.8500000000000000,
+                               0.8524590163934430,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8387096774193550,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8412698412698410,
+                               0.8387096774193550,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8225806451612900,
+                               0.8253968253968250,
+                               0.8253968253968250,
+                               0.8253968253968250,
+                               0.8253968253968250,
+                               0.8253968253968250,
+                               0.8253968253968250,
+                               0.8253968253968250,
+                               0.8095238095238100,
+                               0.8225806451612900,
+                               0.8196721311475410,
+                               0.8166666666666670,
+                               0.8166666666666670,
+                               0.8166666666666670,
+                               0.8166666666666670,
+                               0.8166666666666670,
+                               0.8135593220338980,
+                               0.8135593220338980,
+                               0.7966101694915250,
+                               0.7868852459016390,
+                               0.7741935483870970,
+                               0.7741935483870970,
+                               0.7741935483870970,
+                               0.7741935483870970,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7741935483870970,
+                               0.7741935483870970,
+                               0.7777777777777780,
+                               0.7741935483870970,
+                               0.7741935483870970,
+                               0.7868852459016390,
+                               0.7868852459016390,
+                               0.7741935483870970,
+                               0.7704918032786880,
+                               0.7580645161290320,
+                               0.7666666666666670,
+                               0.7540983606557380,
+                               0.7540983606557380,
+                               0.7540983606557380,
+                               0.7500000000000000,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7377049180327870,
+                               0.7258064516129030,
+                               0.7142857142857140,
+                               0.7096774193548390,
+                               0.7049180327868850,
+                               0.7049180327868850,
+                               0.7166666666666670,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7118644067796610,
+                               0.7241379310344830,
+                               0.7118644067796610,
+                               0.7000000000000000,
+                               0.6885245901639340,
+                               0.7000000000000000,
+                               0.7000000000000000,
+                               0.6949152542372880,
+                               0.6949152542372880,
+                               0.6949152542372880,
+                               0.6949152542372880,
+                               0.7068965517241380,
+                               0.6949152542372880,
+                               0.6896551724137930,
+                               0.7017543859649120,
+                               0.7017543859649120,
+                               0.7017543859649120,
+                               0.6779661016949150,
+                               0.6666666666666670,
+                               0.6610169491525420,
+                               0.6610169491525420,
+                               0.6610169491525420,
+                               0.6610169491525420,
+                               0.6500000000000000,
+                               0.6500000000000000,
+                               0.6440677966101690,
+                               0.6440677966101690,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6428571428571430,
+                               0.6315789473684210,
+                               0.6206896551724140,
+                               0.6206896551724140,
+                               0.6034482758620690,
+                               0.6034482758620690,
+                               0.6034482758620690,
+                               0.6034482758620690,
+                               0.6034482758620690,
+                               0.6140350877192980,
+                               0.6140350877192980,
+                               0.6071428571428570,
+                               0.6071428571428570,
+                               0.6071428571428570,
+                               0.5964912280701750,
+                               0.5862068965517240,
+                               0.5862068965517240,
+                               0.5862068965517240,
+                               0.5862068965517240,
+                               0.5964912280701750,
+                               0.6181818181818180,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5964912280701750,
+                               0.5892857142857140,
+                               0.5689655172413790,
+                               0.5614035087719300,
+                               0.5614035087719300,
+                               0.5535714285714290,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5555555555555560,
+                               0.5636363636363640,
+                               0.5636363636363640,
+                               0.5636363636363640,
+                               0.5636363636363640,
+                               0.5636363636363640,
+                               0.5636363636363640,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5740740740740740,
+                               0.5576923076923080,
+                               0.5576923076923080,
+                               0.5490196078431370,
+                               0.5490196078431370,
+                               0.5600000000000000,
+                               0.5400000000000000,
+                               0.5400000000000000,
+                               0.5400000000000000,
+                               0.5400000000000000,
+                               0.5400000000000000,
+                               0.5400000000000000,
+                               0.5400000000000000,
+                               0.5192307692307690,
+                               0.5192307692307690,
+                               0.5192307692307690,
+                               0.4905660377358490,
+                               0.4905660377358490,
+                               0.4905660377358490,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4814814814814810,
+                               0.4561403508771930,
+                               0.4561403508771930,
+                               0.4363636363636360,
+                               0.4363636363636360,
+                               0.4363636363636360,
+                               0.4259259259259260,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3921568627450980,
+                               0.3921568627450980,
+                               0.3773584905660380,
+                               0.3333333333333330,
+                               0.3148148148148150,
+                               0.3018867924528300,
+                               0.2962962962962960,
+                               0.3018867924528300,
+                               0.3018867924528300,
+                               0.3018867924528300,
+                               0.3018867924528300,
+                               0.3076923076923080,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2800000000000000,
+                               0.2745098039215690,
+                               0.2692307692307690,
+                               0.2745098039215690,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2549019607843140,
+                               0.2500000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1960784313725490,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.2000000000000000,
+                               0.1923076923076920,
+                               0.1960784313725490,
+                               0.1800000000000000,
+                               0.1800000000000000,
+                               0.1764705882352940,
+                               0.1800000000000000,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1698113207547170,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1886792452830190,
+                               0.1851851851851850,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1764705882352940,
+                               0.1600000000000000,
+                               0.1538461538461540,
+                               0.1481481481481480,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1509433962264150,
+                               0.1346153846153850,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1176470588235290,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0847457627118644,
+                               0.0819672131147541,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0727272727272727,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0491803278688525,
+                               0.0500000000000000,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1818181818181820,
+                               0.1851851851851850,
+                               0.2280701754385960,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2413793103448280,
+                               0.2500000000000000,
+                               0.2545454545454540,
+                               0.2592592592592590,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2452830188679250,
+                               0.2592592592592590,
+                               0.2592592592592590,
+                               0.2592592592592590,
+                               0.2592592592592590,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2909090909090910,
+                               0.2909090909090910,
+                               0.2962962962962960,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3207547169811320,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3518518518518520,
+                               0.3584905660377360,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.4074074074074070,
+                               0.4074074074074070,
+                               0.4074074074074070,
+                               0.4074074074074070,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4259259259259260,
+                               0.4150943396226420,
+                               0.4230769230769230,
+                               0.4230769230769230,
+                               0.4230769230769230,
+                               0.4230769230769230,
+                               0.4313725490196080,
+                               0.4423076923076920,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4509803921568630,
+                               0.4693877551020410,
+                               0.4693877551020410,
+                               0.4791666666666670,
+                               0.4791666666666670,
+                               0.4791666666666670,
+                               0.4893617021276600,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.5111111111111110,
+                               0.5111111111111110,
+                               0.5217391304347830,
+                               0.5217391304347830,
+                               0.5217391304347830,
+                               0.5333333333333330,
+                               0.5581395348837210,
+                               0.5581395348837210,
+                               0.5681818181818180,
+                               0.5777777777777780,
+                               0.5652173913043480,
+                               0.5531914893617020,
+                               0.5777777777777780,
+                               0.5777777777777780,
+                               0.5909090909090910,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.6250000000000000,
+                               0.6250000000000000,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6382978723404260,
+                               0.6521739130434780,
+                               0.6739130434782610,
+                               0.6888888888888890,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7083333333333330,
+                               0.7200000000000000,
+                               0.7346938775510200,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7450980392156860,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7454545454545450,
+                               0.7592592592592590,
+                               0.7592592592592590,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7678571428571430,
+                               0.7543859649122810,
+                               0.7719298245614030,
+                               0.7719298245614030,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7796610169491530,
+                               0.7758620689655170,
+                               0.7758620689655170,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7894736842105260,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.7931034482758620,
+                               0.8070175438596490,
+                               0.8214285714285710,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8245614035087720,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8392857142857140,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8518518518518520,
+                               0.8518518518518520,
+                               0.8518518518518520,
+                               0.8363636363636360,
+                               0.8545454545454550,
+                               0.8571428571428570,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8571428571428570,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8793103448275860,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8813559322033900,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8448275862068960,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8392857142857140,
+                               0.8333333333333330,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8301886792452830,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8269230769230770,
+                               0.8269230769230770,
+                               0.8431372549019610,
+                               0.8431372549019610,
+                               0.8490566037735850,
+                               0.8490566037735850,
+                               0.8518518518518520,
+                               0.8518518518518520,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8571428571428570,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8545454545454550,
+                               0.8545454545454550,
+                               0.8518518518518520,
+                               0.8518518518518520,
+                               0.8545454545454550,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8596491228070170,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8666666666666670,
+                               0.8813559322033900,
+                               0.8793103448275860,
+                               0.8793103448275860,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8793103448275860,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8620689655172410,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8644067796610170,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8750000000000000,
+                               0.8771929824561400,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8750000000000000,
+                               0.8771929824561400,
+                               0.8771929824561400,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8620689655172410,
+                               0.8474576271186440,
+                               0.8474576271186440,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8421052631578950,
+                               0.8448275862068960,
+                               0.8448275862068960,
+                               0.8571428571428570,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8727272727272730,
+                               0.8703703703703700,
+                               0.8867924528301890,
+                               0.8867924528301890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8888888888888890,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8703703703703700,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8703703703703700,
+                               0.8518518518518520,
+                               0.8518518518518520,
+                               0.8518518518518520,
+                               0.8679245283018870,
+                               0.8679245283018870,
+                               0.8653846153846150,
+                               0.8653846153846150,
+                               0.8627450980392160,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8571428571428570,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8600000000000000,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8627450980392160,
+                               0.8600000000000000,
+                               0.8775510204081630,
+                               0.8750000000000000,
+                               0.8571428571428570,
+                               0.8400000000000000,
+                               0.8400000000000000,
+                               0.8400000000000000,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8235294117647060,
+                               0.8076923076923080,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7818181818181820,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7857142857142860,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.8076923076923080,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.7962962962962960,
+                               0.8113207547169810,
+                               0.7924528301886790,
+                               0.7924528301886790,
+                               0.7777777777777780,
+                               0.7777777777777780,
+                               0.7636363636363640,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7500000000000000,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7368421052631580,
+                               0.7241379310344830,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7192982456140350,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7142857142857140,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7090909090909090,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.6851851851851850,
+                               0.6909090909090910,
+                               0.6909090909090910,
+                               0.6909090909090910,
+                               0.6909090909090910,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.7037037037037040,
+                               0.6981132075471700,
+                               0.6981132075471700,
+                               0.6981132075471700,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6923076923076920,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6792452830188680,
+                               0.6730769230769230,
+                               0.6730769230769230,
+                               0.6666666666666670,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6538461538461540,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6666666666666670,
+                               0.6538461538461540,
+                               0.6470588235294120,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6346153846153850,
+                               0.6400000000000000,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6250000000000000,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6326530612244900,
+                               0.6250000000000000,
+                               0.6000000000000000,
+                               0.6000000000000000,
+                               0.5882352941176470,
+                               0.5882352941176470,
+                               0.5800000000000000,
+                               0.5600000000000000,
+                               0.5714285714285710,
+                               0.5714285714285710,
+                               0.5714285714285710,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5625000000000000,
+                               0.5510204081632650,
+                               0.5294117647058820,
+                               0.5294117647058820,
+                               0.5384615384615380,
+                               0.5384615384615380,
+                               0.5384615384615380,
+                               0.5384615384615380,
+                               0.5000000000000000,
+                               0.5000000000000000,
+                               0.4893617021276600,
+                               0.4791666666666670,
+                               0.4680851063829790,
+                               0.4782608695652170,
+                               0.4666666666666670,
+                               0.4666666666666670,
+                               0.4666666666666670,
+                               0.4666666666666670,
+                               0.4565217391304350,
+                               0.4565217391304350,
+                               0.4255319148936170,
+                               0.4130434782608700,
+                               0.3863636363636360,
+                               0.3777777777777780,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3333333333333330,
+                               0.3488372093023260,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3488372093023260,
+                               0.3409090909090910,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3181818181818180,
+                               0.3255813953488370,
+                               0.3095238095238100,
+                               0.3095238095238100,
+                               0.2926829268292680,
+                               0.2926829268292680,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2790697674418600,
+                               0.2790697674418600,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2790697674418600,
+                               0.2790697674418600,
+                               0.2790697674418600,
+                               0.2790697674418600,
+                               0.2790697674418600,
+                               0.2619047619047620,
+                               0.2558139534883720,
+                               0.2558139534883720,
+                               0.2380952380952380,
+                               0.2380952380952380,
+                               0.2272727272727270,
+                               0.2142857142857140,
+                               0.2045454545454550,
+                               0.2000000000000000,
+                               0.1777777777777780,
+                               0.1777777777777780,
+                               0.1702127659574470,
+                               0.1521739130434780,
+                               0.1458333333333330,
+                               0.1458333333333330,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1568627450980390,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1372549019607840,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1020408163265310,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1000000000000000,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1020408163265310,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0851063829787234,
+                               0.0851063829787234,
+                               0.0851063829787234,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0851063829787234,
+                               0.0851063829787234,
+                               0.0851063829787234,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0800000000000000,
+                               0.0784313725490196,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0545454545454545,
+                               0.0535714285714286,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0363636363636364,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0384615384615385,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0377358490566038,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0377358490566038,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0185185185185185,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000
+                       }
+               },
+               { PLACE_CATEG_ID_OTHER,
+                       {
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0377358490566038,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0192307692307692,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0188679245283019,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0192307692307692,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0192307692307692,
+                               0.0200000000000000,
+                               0.0200000000000000,
+                               0.0208333333333333,
+                               0.0212765957446808,
+                               0.0212765957446808,
+                               0.0212765957446808,
+                               0.0212765957446808,
+                               0.0416666666666667,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0392156862745098,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0408163265306122,
+                               0.0425531914893617,
+                               0.0425531914893617,
+                               0.0425531914893617,
+                               0.0425531914893617,
+                               0.0444444444444444,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0425531914893617,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0465116279069768,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0500000000000000,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0655737704918033,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1228070175438600,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1228070175438600,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1052631578947370,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1250000000000000,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.1090909090909090,
+                               0.1071428571428570,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1071428571428570,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0877192982456140,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1071428571428570,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1296296296296300,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.0980392156862745,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1153846153846150,
+                               0.1176470588235290,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1400000000000000,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1600000000000000,
+                               0.1836734693877550,
+                               0.1836734693877550,
+                               0.1836734693877550,
+                               0.1632653061224490,
+                               0.1632653061224490,
+                               0.1800000000000000,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1956521739130430,
+                               0.1956521739130430,
+                               0.1956521739130430,
+                               0.1956521739130430,
+                               0.2173913043478260,
+                               0.2173913043478260,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2040816326530610,
+                               0.2000000000000000,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1627906976744190,
+                               0.1627906976744190,
+                               0.1627906976744190,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1463414634146340,
+                               0.1463414634146340,
+                               0.1860465116279070,
+                               0.1860465116279070,
+                               0.2045454545454550,
+                               0.2093023255813950,
+                               0.2093023255813950,
+                               0.2093023255813950,
+                               0.2272727272727270,
+                               0.2272727272727270,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2444444444444440,
+                               0.2444444444444440,
+                               0.2954545454545450,
+                               0.2954545454545450,
+                               0.3404255319148940,
+                               0.3333333333333330,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3200000000000000,
+                               0.3265306122448980,
+                               0.3400000000000000,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3269230769230770,
+                               0.3207547169811320,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3333333333333330,
+                               0.3269230769230770,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3090909090909090,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3272727272727270,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3214285714285710,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3148148148148150,
+                               0.3090909090909090,
+                               0.3148148148148150,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2173913043478260,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1777777777777780,
+                               0.1777777777777780,
+                               0.1777777777777780,
+                               0.1777777777777780,
+                               0.1521739130434780,
+                               0.1521739130434780,
+                               0.1521739130434780,
+                               0.1304347826086960,
+                               0.1304347826086960,
+                               0.1304347826086960,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1250000000000000,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1632653061224490,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1800000000000000,
+                               0.1800000000000000,
+                               0.1800000000000000,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1886792452830190,
+                               0.1886792452830190,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1346153846153850,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1200000000000000,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0784313725490196,
+                               0.0961538461538462,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0689655172413793,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0625000000000000,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0172413793103448,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0178571428571429,
+                               0.0181818181818182,
+                               0.0357142857142857,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0350877192982456,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0181818181818182,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0181818181818182,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0181818181818182,
+                               0.0185185185185185,
+                               0.0181818181818182,
+                               0.0181818181818182,
+                               0.0185185185185185,
+                               0.0185185185185185,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0192307692307692,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0200000000000000,
+                               0.0200000000000000,
+                               0.0200000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0600000000000000,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0392156862745098,
+                               0.0200000000000000,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0425531914893617,
+                               0.0425531914893617,
+                               0.0425531914893617,
+                               0.0425531914893617,
+                               0.0425531914893617,
+                               0.0416666666666667,
+                               0.0625000000000000,
+                               0.0612244897959184,
+                               0.0612244897959184,
+                               0.0612244897959184,
+                               0.0600000000000000,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0638297872340425,
+                               0.0638297872340425,
+                               0.0434782608695652,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0444444444444444,
+                               0.0227272727272727,
+                               0.0217391304347826,
+                               0.0212765957446808,
+                               0.0208333333333333,
+                               0.0204081632653061,
+                               0.0204081632653061,
+                               0.0200000000000000,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0196078431372549,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0166666666666667,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0476190476190476,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0333333333333333,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0535714285714286,
+                               0.0545454545454545,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0363636363636364,
+                               0.0370370370370370,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0333333333333333,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0175438596491228,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0175438596491228,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0172413793103448,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0161290322580645,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0322580645161290,
+                               0.0483870967741936,
+                               0.0468750000000000,
+                               0.0476190476190476,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0500000000000000,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0645161290322581,
+                               0.0793650793650794,
+                               0.0781250000000000,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0781250000000000,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0923076923076923,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0847457627118644,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0877192982456140,
+                               0.0727272727272727,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0909090909090909,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0576923076923077,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1206896551724140,
+                               0.1206896551724140,
+                               0.1228070175438600,
+                               0.1250000000000000,
+                               0.1090909090909090,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.1000000000000000,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.1000000000000000,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1153846153846150,
+                               0.1111111111111110,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1052631578947370,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.1071428571428570,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0784313725490196,
+                               0.0769230769230769,
+                               0.0784313725490196,
+                               0.0784313725490196,
+                               0.0769230769230769,
+                               0.0784313725490196,
+                               0.0784313725490196,
+                               0.0784313725490196,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.1132075471698110,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1132075471698110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1538461538461540,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1276595744680850,
+                               0.1304347826086960,
+                               0.1304347826086960,
+                               0.0888888888888889,
+                               0.0869565217391304,
+                               0.0851063829787234,
+                               0.1041666666666670,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1224489795918370,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1020408163265310,
+                               0.1041666666666670,
+                               0.1063829787234040,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1698113207547170,
+                               0.1666666666666670,
+                               0.1509433962264150,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1818181818181820,
+                               0.1636363636363640,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1864406779661020,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.1833333333333330,
+                               0.1967213114754100,
+                               0.1935483870967740,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1666666666666670,
+                               0.1525423728813560,
+                               0.1071428571428570,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1403508771929820,
+                               0.1403508771929820,
+                               0.1403508771929820,
+                               0.1403508771929820,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1694915254237290,
+                               0.1666666666666670,
+                               0.1639344262295080,
+                               0.1500000000000000,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1587301587301590,
+                               0.1692307692307690,
+                               0.1692307692307690,
+                               0.1692307692307690,
+                               0.1692307692307690,
+                               0.1562500000000000,
+                               0.1562500000000000,
+                               0.1562500000000000,
+                               0.1692307692307690,
+                               0.1692307692307690,
+                               0.1692307692307690,
+                               0.1692307692307690,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1406250000000000,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0952380952380952,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0597014925373134,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0153846153846154,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0333333333333333,
+                               0.0169491525423729,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0161290322580645,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0169491525423729,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0169491525423729,
+                               0.0166666666666667,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0166666666666667,
+                               0.0169491525423729,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0163934426229508,
+                               0.0166666666666667,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0172413793103448,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0181818181818182,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0178571428571429,
+                               0.0181818181818182,
+                               0.0185185185185185,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0188679245283019,
+                               0.0192307692307692,
+                               0.0196078431372549,
+                               0.0204081632653061,
+                               0.0200000000000000,
+                               0.0200000000000000,
+                               0.0392156862745098,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0392156862745098,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0566037735849057,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0363636363636364,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0370370370370370,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0370370370370370,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0370370370370370,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0400000000000000,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0312500000000000,
+                               0.0312500000000000,
+                               0.0307692307692308,
+                               0.0307692307692308,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0294117647058823,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0285714285714286,
+                               0.0281690140845070,
+                               0.0285714285714286,
+                               0.0285714285714286,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0303030303030303,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0144927536231884,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0144927536231884,
+                               0.0147058823529412,
+                               0.0144927536231884,
+                               0.0147058823529412,
+                               0.0149253731343284,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0151515151515152,
+                               0.0156250000000000,
+                               0.0153846153846154,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0158730158730159,
+                               0.0461538461538462,
+                               0.0468750000000000,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.1093750000000000,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0666666666666667,
+                               0.0645161290322581,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0757575757575758,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0571428571428571,
+                               0.0579710144927536,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0447761194029851,
+                               0.0454545454545455,
+                               0.0447761194029851,
+                               0.0441176470588235,
+                               0.0434782608695652,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0434782608695652,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0298507462686567,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0285714285714286,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0140845070422535,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0136986301369863,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0138888888888889,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0000000000000000,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0281690140845070,
+                               0.0285714285714286,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0285714285714286,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0298507462686567,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0144927536231884,
+                               0.0147058823529412,
+                               0.0144927536231884,
+                               0.0142857142857143,
+                               0.0142857142857143,
+                               0.0140845070422535,
+                               0.0140845070422535,
+                               0.0142857142857143,
+                               0.0144927536231884,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0149253731343284,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0147058823529412,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0289855072463768,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0294117647058823,
+                               0.0298507462686567,
+                               0.0303030303030303,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0454545454545455,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0441176470588235,
+                               0.0447761194029851,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0454545454545455,
+                               0.0468750000000000,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0476190476190476,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0491803278688525,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0526315789473684,
+                               0.0545454545454545,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0545454545454545,
+                               0.0555555555555556,
+                               0.0566037735849057,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0384615384615385,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0612244897959184,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0612244897959184,
+                               0.0961538461538462,
+                               0.1111111111111110,
+                               0.1578947368421050,
+                               0.1551724137931030,
+                               0.1724137931034480,
+                               0.1694915254237290,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.2000000000000000,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1864406779661020,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.2033898305084750,
+                               0.2033898305084750,
+                               0.2033898305084750,
+                               0.2000000000000000,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.2187500000000000,
+                               0.2187500000000000,
+                               0.2187500000000000,
+                               0.2187500000000000,
+                               0.2187500000000000,
+                               0.2307692307692310,
+                               0.2307692307692310,
+                               0.2380952380952380,
+                               0.2419354838709680,
+                               0.2459016393442620,
+                               0.2586206896551720,
+                               0.2586206896551720,
+                               0.2711864406779660,
+                               0.2711864406779660,
+                               0.2711864406779660,
+                               0.2711864406779660,
+                               0.2622950819672130,
+                               0.2580645161290320,
+                               0.2542372881355930,
+                               0.2542372881355930,
+                               0.2542372881355930,
+                               0.2500000000000000,
+                               0.2459016393442620,
+                               0.2459016393442620,
+                               0.2459016393442620,
+                               0.2459016393442620,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2622950819672130,
+                               0.2622950819672130,
+                               0.2622950819672130,
+                               0.2666666666666670,
+                               0.2711864406779660,
+                               0.2711864406779660,
+                               0.2833333333333330,
+                               0.2833333333333330,
+                               0.2786885245901640,
+                               0.2741935483870970,
+                               0.2615384615384620,
+                               0.2656250000000000,
+                               0.2539682539682540,
+                               0.2539682539682540,
+                               0.2539682539682540,
+                               0.2622950819672130,
+                               0.2666666666666670,
+                               0.2622950819672130,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2459016393442620,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2500000000000000,
+                               0.2615384615384620,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2769230769230770,
+                               0.2769230769230770,
+                               0.2769230769230770,
+                               0.2727272727272730,
+                               0.2647058823529410,
+                               0.2647058823529410,
+                               0.2537313432835820,
+                               0.2647058823529410,
+                               0.2647058823529410,
+                               0.2647058823529410,
+                               0.2424242424242420,
+                               0.2424242424242420,
+                               0.2153846153846150,
+                               0.2153846153846150,
+                               0.2153846153846150,
+                               0.2153846153846150,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1578947368421050,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1509433962264150,
+                               0.1666666666666670,
+                               0.1509433962264150,
+                               0.1886792452830190,
+                               0.2000000000000000,
+                               0.2037037037037040,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1929824561403510,
+                               0.1785714285714290,
+                               0.1818181818181820,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1525423728813560,
+                               0.1525423728813560,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1525423728813560,
+                               0.1525423728813560,
+                               0.1525423728813560,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1666666666666670,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1803278688524590,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1969696969696970,
+                               0.1969696969696970,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2121212121212120,
+                               0.2121212121212120,
+                               0.2238805970149250,
+                               0.2238805970149250,
+                               0.2238805970149250,
+                               0.2205882352941180,
+                               0.2205882352941180,
+                               0.2205882352941180,
+                               0.2205882352941180,
+                               0.2089552238805970,
+                               0.2058823529411760,
+                               0.2058823529411760,
+                               0.1940298507462690,
+                               0.1940298507462690,
+                               0.1940298507462690,
+                               0.1940298507462690,
+                               0.1940298507462690,
+                               0.1940298507462690,
+                               0.1884057971014490,
+                               0.1884057971014490,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1641791044776120,
+                               0.1641791044776120,
+                               0.1515151515151520,
+                               0.1492537313432840,
+                               0.1492537313432840,
+                               0.1470588235294120,
+                               0.1449275362318840,
+                               0.1449275362318840,
+                               0.1449275362318840,
+                               0.1449275362318840,
+                               0.1449275362318840,
+                               0.1449275362318840,
+                               0.1304347826086960,
+                               0.1323529411764710,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1343283582089550,
+                               0.1212121212121210,
+                               0.1230769230769230,
+                               0.1230769230769230,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1230769230769230,
+                               0.1230769230769230,
+                               0.1212121212121210,
+                               0.1212121212121210,
+                               0.1212121212121210,
+                               0.1212121212121210,
+                               0.1194029850746270,
+                               0.1142857142857140,
+                               0.1142857142857140,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1044776119402990,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1044776119402990,
+                               0.1044776119402990,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1014492753623190,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0857142857142857,
+                               0.0857142857142857,
+                               0.0845070422535211,
+                               0.0845070422535211,
+                               0.0845070422535211,
+                               0.0845070422535211,
+                               0.0845070422535211,
+                               0.0845070422535211,
+                               0.0845070422535211,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0704225352112676,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0694444444444444,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0563380281690141,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0547945205479452,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0540540540540541,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0405405405405405,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0410958904109589,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0416666666666667,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0422535211267606,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0428571428571429,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0454545454545455,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0468750000000000,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0317460317460317,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0333333333333333,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0322580645161290,
+                               0.0327868852459016,
+                               0.0327868852459016,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0338983050847458,
+                               0.0344827586206897,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0333333333333333,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0338983050847458,
+                               0.0333333333333333,
+                               0.0491803278688525,
+                               0.0491803278688525,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0566037735849057,
+                               0.0555555555555556,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0754716981132075,
+                               0.0784313725490196,
+                               0.0600000000000000,
+                               0.0612244897959184,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0566037735849057,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0483870967741936,
+                               0.0491803278688525,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0634920634920635,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0588235294117647,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0597014925373134,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0441176470588235,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0447761194029851,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0597014925373134,
+                               0.0454545454545455,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0461538461538462,
+                               0.0606060606060606,
+                               0.0606060606060606,
+                               0.0597014925373134,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0724637681159420,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0735294117647059,
+                               0.0597014925373134,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0579710144927536,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0571428571428571,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0579710144927536,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0735294117647059,
+                               0.0606060606060606,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0615384615384615,
+                               0.0625000000000000,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1029411764705880,
+                               0.1014492753623190,
+                               0.1159420289855070,
+                               0.1159420289855070,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1194029850746270,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1076923076923080,
+                               0.1212121212121210,
+                               0.1212121212121210,
+                               0.1076923076923080,
+                               0.1111111111111110,
+                               0.1269841269841270,
+                               0.1451612903225810,
+                               0.1500000000000000,
+                               0.1500000000000000,
+                               0.1525423728813560,
+                               0.1935483870967740,
+                               0.2000000000000000,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1967213114754100,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1904761904761900,
+                               0.1904761904761900,
+                               0.1904761904761900,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1846153846153850,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.2000000000000000,
+                               0.1875000000000000,
+                               0.1904761904761900,
+                               0.1875000000000000,
+                               0.1904761904761900,
+                               0.1904761904761900,
+                               0.1935483870967740,
+                               0.2063492063492060,
+                               0.2063492063492060,
+                               0.2063492063492060,
+                               0.2063492063492060,
+                               0.2096774193548390,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2063492063492060,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1935483870967740,
+                               0.1803278688524590,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1379310344827590,
+                               0.1206896551724140,
+                               0.1166666666666670,
+                               0.1166666666666670,
+                               0.1129032258064520,
+                               0.0983606557377049,
+                               0.0952380952380952,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0793650793650794,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0645161290322581,
+                               0.0793650793650794,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0781250000000000,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.0923076923076923,
+                               0.1060606060606060,
+                               0.1060606060606060,
+                               0.1076923076923080,
+                               0.1076923076923080,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0833333333333333,
+                               0.0819672131147541,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0806451612903226,
+                               0.0819672131147541,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0983606557377049,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0819672131147541,
+                               0.0819672131147541,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.0967741935483871,
+                               0.1000000000000000,
+                               0.1147540983606560,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.1000000000000000,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0967741935483871,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.1000000000000000,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.1016949152542370,
+                               0.0862068965517241,
+                               0.0847457627118644,
+                               0.1000000000000000,
+                               0.1147540983606560,
+                               0.1166666666666670,
+                               0.1166666666666670,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1186440677966100,
+                               0.1206896551724140,
+                               0.1186440677966100,
+                               0.1206896551724140,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1228070175438600,
+                               0.1525423728813560,
+                               0.1500000000000000,
+                               0.1525423728813560,
+                               0.1525423728813560,
+                               0.1525423728813560,
+                               0.1525423728813560,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1578947368421050,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1754385964912280,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1754385964912280,
+                               0.1818181818181820,
+                               0.2105263157894740,
+                               0.2105263157894740,
+                               0.2105263157894740,
+                               0.2142857142857140,
+                               0.2068965517241380,
+                               0.2105263157894740,
+                               0.2105263157894740,
+                               0.2142857142857140,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1800000000000000,
+                               0.1800000000000000,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.1923076923076920,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2456140350877190,
+                               0.2456140350877190,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2592592592592590,
+                               0.2641509433962260,
+                               0.2641509433962260,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2641509433962260,
+                               0.2777777777777780,
+                               0.2962962962962960,
+                               0.3018867924528300,
+                               0.3148148148148150,
+                               0.3018867924528300,
+                               0.3018867924528300,
+                               0.3018867924528300,
+                               0.3018867924528300,
+                               0.2884615384615380,
+                               0.2745098039215690,
+                               0.2745098039215690,
+                               0.2745098039215690,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.3000000000000000,
+                               0.3137254901960780,
+                               0.3076923076923080,
+                               0.3137254901960780,
+                               0.3200000000000000,
+                               0.3200000000000000,
+                               0.3200000000000000,
+                               0.3200000000000000,
+                               0.3137254901960780,
+                               0.3269230769230770,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3529411764705880,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3076923076923080,
+                               0.2884615384615380,
+                               0.2745098039215690,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2400000000000000,
+                               0.2500000000000000,
+                               0.2352941176470590,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2352941176470590,
+                               0.2200000000000000,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2075471698113210,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1698113207547170,
+                               0.1666666666666670,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1509433962264150,
+                               0.1509433962264150,
+                               0.1568627450980390,
+                               0.1600000000000000,
+                               0.1730769230769230,
+                               0.1851851851851850,
+                               0.1538461538461540,
+                               0.1538461538461540,
+                               0.1698113207547170,
+                               0.1730769230769230,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.2000000000000000,
+                               0.1851851851851850,
+                               0.1851851851851850,
+                               0.2105263157894740,
+                               0.2105263157894740,
+                               0.2372881355932200,
+                               0.2295081967213110,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2096774193548390,
+                               0.2096774193548390,
+                               0.2096774193548390,
+                               0.2063492063492060,
+                               0.2063492063492060,
+                               0.2096774193548390,
+                               0.2096774193548390,
+                               0.2222222222222220,
+                               0.2295081967213110,
+                               0.2295081967213110,
+                               0.2295081967213110,
+                               0.2166666666666670,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2419354838709680,
+                               0.2459016393442620,
+                               0.2622950819672130,
+                               0.2622950819672130,
+                               0.2500000000000000,
+                               0.2372881355932200,
+                               0.2372881355932200,
+                               0.2372881355932200,
+                               0.2372881355932200,
+                               0.2372881355932200,
+                               0.2000000000000000,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2105263157894740,
+                               0.2105263157894740,
+                               0.2105263157894740,
+                               0.2105263157894740,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1964285714285710,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1754385964912280,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1403508771929820,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1379310344827590,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1694915254237290,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1774193548387100,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1746031746031750,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1774193548387100,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1639344262295080,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1587301587301590,
+                               0.1639344262295080,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1612903225806450,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1500000000000000,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1500000000000000,
+                               0.1475409836065570,
+                               0.1475409836065570,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1311475409836070,
+                               0.1311475409836070,
+                               0.1311475409836070,
+                               0.1311475409836070,
+                               0.1311475409836070,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1166666666666670,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1129032258064520,
+                               0.1129032258064520,
+                               0.1269841269841270,
+                               0.1269841269841270,
+                               0.1269841269841270,
+                               0.1269841269841270,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1290322580645160,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1147540983606560,
+                               0.1000000000000000,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0983606557377049,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0967741935483871,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0952380952380952,
+                               0.0937500000000000,
+                               0.0937500000000000,
+                               0.0923076923076923,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0895522388059701,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0746268656716418,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0757575757575758,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0769230769230769,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0793650793650794,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0806451612903226,
+                               0.0645161290322581,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0655737704918033,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0961538461538462,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0892857142857143,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0833333333333333,
+                               0.0851063829787234,
+                               0.0652173913043478,
+                               0.0652173913043478,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0652173913043478,
+                               0.0652173913043478,
+                               0.0652173913043478,
+                               0.0666666666666667,
+                               0.0697674418604651,
+                               0.0697674418604651,
+                               0.0681818181818182,
+                               0.0666666666666667,
+                               0.0869565217391304,
+                               0.1063829787234040,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1136363636363640,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1086956521739130,
+                               0.0869565217391304,
+                               0.0666666666666667,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0625000000000000,
+                               0.0600000000000000,
+                               0.0612244897959184,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0588235294117647,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0727272727272727,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0877192982456140,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0666666666666667,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0517241379310345,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0892857142857143,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0784313725490196,
+                               0.0784313725490196,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0535714285714286,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0545454545454545,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0508474576271187,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0500000000000000,
+                               0.0508474576271187,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0689655172413793,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0714285714285714,
+                               0.0701754385964912,
+                               0.0862068965517241,
+                               0.0862068965517241,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0847457627118644,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0526315789473684,
+                               0.0526315789473684,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0517241379310345,
+                               0.0677966101694915,
+                               0.0677966101694915,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0701754385964912,
+                               0.0689655172413793,
+                               0.0689655172413793,
+                               0.0714285714285714,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0555555555555556,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0370370370370370,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0555555555555556,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0576923076923077,
+                               0.0576923076923077,
+                               0.0588235294117647,
+                               0.0600000000000000,
+                               0.0600000000000000,
+                               0.0612244897959184,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0408163265306122,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0400000000000000,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0400000000000000,
+                               0.0204081632653061,
+                               0.0208333333333333,
+                               0.0204081632653061,
+                               0.0200000000000000,
+                               0.0200000000000000,
+                               0.0200000000000000,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0392156862745098,
+                               0.0384615384615385,
+                               0.0377358490566038,
+                               0.0377358490566038,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0576923076923077,
+                               0.0566037735849057,
+                               0.0566037735849057,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0555555555555556,
+                               0.0566037735849057,
+                               0.0754716981132075,
+                               0.0754716981132075,
+                               0.0740740740740741,
+                               0.0740740740740741,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0714285714285714,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0862068965517241,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0877192982456140,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0892857142857143,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.1111111111111110,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0943396226415094,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0980392156862745,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.1153846153846150,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0800000000000000,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0833333333333333,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0816326530612245,
+                               0.0833333333333333,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1000000000000000,
+                               0.1200000000000000,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1428571428571430,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1458333333333330,
+                               0.1458333333333330,
+                               0.1489361702127660,
+                               0.1458333333333330,
+                               0.1489361702127660,
+                               0.1304347826086960,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1521739130434780,
+                               0.1521739130434780,
+                               0.1702127659574470,
+                               0.1739130434782610,
+                               0.1818181818181820,
+                               0.1777777777777780,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1904761904761900,
+                               0.1860465116279070,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1860465116279070,
+                               0.2045454545454550,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2272727272727270,
+                               0.2325581395348840,
+                               0.2380952380952380,
+                               0.2380952380952380,
+                               0.2195121951219510,
+                               0.2195121951219510,
+                               0.2142857142857140,
+                               0.2142857142857140,
+                               0.2093023255813950,
+                               0.2093023255813950,
+                               0.2045454545454550,
+                               0.2045454545454550,
+                               0.1860465116279070,
+                               0.1860465116279070,
+                               0.1860465116279070,
+                               0.1860465116279070,
+                               0.1860465116279070,
+                               0.1904761904761900,
+                               0.2093023255813950,
+                               0.2093023255813950,
+                               0.2142857142857140,
+                               0.2142857142857140,
+                               0.2272727272727270,
+                               0.2142857142857140,
+                               0.2045454545454550,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2127659574468080,
+                               0.2173913043478260,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2549019607843140,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2549019607843140,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2692307692307690,
+                               0.2745098039215690,
+                               0.2745098039215690,
+                               0.2745098039215690,
+                               0.2745098039215690,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2653061224489800,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2600000000000000,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2400000000000000,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2244897959183670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2083333333333330,
+                               0.2083333333333330,
+                               0.2083333333333330,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2127659574468080,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2600000000000000,
+                               0.2745098039215690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2641509433962260,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2830188679245280,
+                               0.2641509433962260,
+                               0.2641509433962260,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2692307692307690,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2352941176470590,
+                               0.2352941176470590,
+                               0.2200000000000000,
+                               0.2200000000000000,
+                               0.2200000000000000,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2115384615384620,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2181818181818180,
+                               0.2321428571428570,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2363636363636360,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2545454545454540,
+                               0.2678571428571430,
+                               0.2678571428571430,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2545454545454540,
+                               0.2407407407407410,
+                               0.2407407407407410,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2264150943396230,
+                               0.2307692307692310,
+                               0.2156862745098040,
+                               0.2156862745098040,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.2264150943396230,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2075471698113210,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.1960784313725490,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2037037037037040,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2075471698113210,
+                               0.2037037037037040,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1481481481481480,
+                               0.1481481481481480,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1454545454545450,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1090909090909090,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1132075471698110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1111111111111110,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1272727272727270,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1296296296296300,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1320754716981130,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1176470588235290,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1346153846153850,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1372549019607840,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1224489795918370,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1200000000000000,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1200000000000000,
+                               0.1372549019607840,
+                               0.1428571428571430,
+                               0.1458333333333330,
+                               0.1458333333333330,
+                               0.1489361702127660,
+                               0.1521739130434780,
+                               0.1521739130434780,
+                               0.1521739130434780,
+                               0.1702127659574470,
+                               0.1875000000000000,
+                               0.2040816326530610,
+                               0.2083333333333330,
+                               0.2083333333333330,
+                               0.2083333333333330,
+                               0.2083333333333330,
+                               0.2083333333333330,
+                               0.2127659574468080,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2340425531914890,
+                               0.2340425531914890,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2444444444444440,
+                               0.2272727272727270,
+                               0.2093023255813950,
+                               0.2045454545454550,
+                               0.2045454545454550,
+                               0.2045454545454550,
+                               0.2045454545454550,
+                               0.2045454545454550,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2222222222222220,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2553191489361700,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2391304347826090,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2444444444444440,
+                               0.2391304347826090,
+                               0.2340425531914890,
+                               0.2340425531914890,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2653061224489800,
+                               0.2708333333333330,
+                               0.2765957446808510,
+                               0.2708333333333330,
+                               0.2857142857142860,
+                               0.2857142857142860,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.3061224489795920,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.2888888888888890,
+                               0.2826086956521740,
+                               0.2888888888888890,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2790697674418600,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3191489361702130,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3191489361702130,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3265306122448980,
+                               0.3333333333333330,
+                               0.3469387755102040,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3469387755102040,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3265306122448980,
+                               0.3061224489795920,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.2916666666666670,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.2978723404255320,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.2916666666666670,
+                               0.3061224489795920,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3137254901960780,
+                               0.3269230769230770,
+                               0.3333333333333330,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3207547169811320,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3454545454545450,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3396226415094340,
+                               0.3461538461538460,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3518518518518520,
+                               0.3518518518518520,
+                               0.3518518518518520,
+                               0.3396226415094340,
+                               0.3269230769230770,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3200000000000000,
+                               0.3061224489795920,
+                               0.3200000000000000,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3269230769230770,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3400000000000000,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3400000000000000,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3469387755102040,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3673469387755100,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.3958333333333330,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4130434782608700,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4166666666666670,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4375000000000000,
+                               0.4468085106382980,
+                               0.4468085106382980,
+                               0.4468085106382980,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4565217391304350,
+                               0.4565217391304350,
+                               0.4565217391304350,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4444444444444440,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4347826086956520,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4130434782608700,
+                               0.4130434782608700,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4255319148936170,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4285714285714290,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4166666666666670,
+                               0.4200000000000000,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4081632653061220,
+                               0.4000000000000000,
+                               0.4117647058823530,
+                               0.4038461538461540,
+                               0.4150943396226420,
+                               0.4074074074074070,
+                               0.4074074074074070,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4038461538461540,
+                               0.3962264150943400,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.3877551020408160,
+                               0.3921568627450980,
+                               0.3921568627450980,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3846153846153850,
+                               0.3962264150943400,
+                               0.4038461538461540,
+                               0.4038461538461540,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4181818181818180,
+                               0.4181818181818180,
+                               0.4181818181818180,
+                               0.4181818181818180,
+                               0.4181818181818180,
+                               0.4074074074074070,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.4074074074074070,
+                               0.4074074074074070,
+                               0.4074074074074070,
+                               0.4000000000000000,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3928571428571430,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3703703703703700,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3888888888888890,
+                               0.3962264150943400,
+                               0.4074074074074070,
+                               0.4074074074074070,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3888888888888890,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.4074074074074070,
+                               0.4000000000000000,
+                               0.3962264150943400,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3773584905660380,
+                               0.3773584905660380,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3584905660377360,
+                               0.3773584905660380,
+                               0.3773584905660380,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3518518518518520,
+                               0.3518518518518520,
+                               0.3518518518518520,
+                               0.3518518518518520,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3518518518518520,
+                               0.3454545454545450,
+                               0.3454545454545450,
+                               0.3571428571428570,
+                               0.3571428571428570,
+                               0.3571428571428570,
+                               0.3571428571428570,
+                               0.3508771929824560,
+                               0.3508771929824560,
+                               0.3508771929824560,
+                               0.3508771929824560,
+                               0.3392857142857140,
+                               0.3333333333333330,
+                               0.3396226415094340,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3529411764705880,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3333333333333330,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3800000000000000,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3653846153846150,
+                               0.3653846153846150,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3673469387755100,
+                               0.3469387755102040,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3469387755102040,
+                               0.3400000000000000,
+                               0.3400000000000000,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3529411764705880,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3469387755102040,
+                               0.3600000000000000,
+                               0.3725490196078430,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3846153846153850,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.4038461538461540,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.4038461538461540,
+                               0.4259259259259260,
+                               0.4259259259259260,
+                               0.4259259259259260,
+                               0.4259259259259260,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4150943396226420,
+                               0.4000000000000000,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3962264150943400,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.3888888888888890,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3888888888888890,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3703703703703700,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3773584905660380,
+                               0.3773584905660380,
+                               0.3962264150943400,
+                               0.3962264150943400,
+                               0.3888888888888890,
+                               0.3818181818181820,
+                               0.3928571428571430,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4035087719298250,
+                               0.4137931034482760,
+                               0.4137931034482760,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4210526315789470,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4210526315789470,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4107142857142860,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3888888888888890,
+                               0.3818181818181820,
+                               0.3818181818181820,
+                               0.3584905660377360,
+                               0.3584905660377360,
+                               0.3461538461538460,
+                               0.3461538461538460,
+                               0.3137254901960780,
+                               0.3000000000000000,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3137254901960780,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.3000000000000000,
+                               0.2800000000000000,
+                               0.2653061224489800,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.3076923076923080,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.2941176470588230,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3207547169811320,
+                               0.3090909090909090,
+                               0.3090909090909090,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2962962962962960,
+                               0.2909090909090910,
+                               0.2777777777777780,
+                               0.2641509433962260,
+                               0.2777777777777780,
+                               0.2777777777777780,
+                               0.2727272727272730,
+                               0.2857142857142860,
+                               0.2807017543859650,
+                               0.2758620689655170,
+                               0.2758620689655170,
+                               0.2758620689655170,
+                               0.2758620689655170,
+                               0.2758620689655170,
+                               0.2631578947368420,
+                               0.2631578947368420,
+                               0.2631578947368420,
+                               0.2586206896551720,
+                               0.2456140350877190,
+                               0.2456140350877190,
+                               0.2456140350877190,
+                               0.2456140350877190,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2321428571428570,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2241379310344830,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2280701754385960,
+                               0.2142857142857140,
+                               0.2142857142857140,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.2068965517241380,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1929824561403510,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1964285714285710,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1818181818181820,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1785714285714290,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1896551724137930,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1754385964912280,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1724137931034480,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1578947368421050,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1607142857142860,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1636363636363640,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1698113207547170,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1730769230769230,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1764705882352940,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1600000000000000,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1568627450980390,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1063829787234040,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1400000000000000,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1333333333333330,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1777777777777780,
+                               0.1956521739130430,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2244897959183670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2765957446808510,
+                               0.2916666666666670,
+                               0.2978723404255320,
+                               0.3125000000000000,
+                               0.3265306122448980,
+                               0.3265306122448980,
+                               0.3333333333333330,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3333333333333330,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3333333333333330,
+                               0.3260869565217390,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.2954545454545450,
+                               0.2954545454545450,
+                               0.2954545454545450,
+                               0.2790697674418600,
+                               0.2666666666666670,
+                               0.2666666666666670,
+                               0.2826086956521740,
+                               0.2826086956521740,
+                               0.2888888888888890,
+                               0.2888888888888890,
+                               0.2727272727272730,
+                               0.2558139534883720,
+                               0.2558139534883720,
+                               0.2558139534883720,
+                               0.2500000000000000,
+                               0.2666666666666670,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2553191489361700,
+                               0.2553191489361700,
+                               0.2708333333333330,
+                               0.2500000000000000,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2549019607843140,
+                               0.2549019607843140,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2400000000000000,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2448979591836730,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2800000000000000,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2800000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2448979591836730,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2553191489361700,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2608695652173910,
+                               0.2553191489361700,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2708333333333330,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2653061224489800,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2800000000000000,
+                               0.2857142857142860,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.2857142857142860,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.2826086956521740,
+                               0.2826086956521740,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2888888888888890,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3191489361702130,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3111111111111110,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3023255813953490,
+                               0.3023255813953490,
+                               0.2790697674418600,
+                               0.2857142857142860,
+                               0.3023255813953490,
+                               0.3023255813953490,
+                               0.3023255813953490,
+                               0.3181818181818180,
+                               0.3333333333333330,
+                               0.3617021276595740,
+                               0.3877551020408160,
+                               0.3877551020408160,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4117647058823530,
+                               0.4000000000000000,
+                               0.3877551020408160,
+                               0.3750000000000000,
+                               0.3750000000000000,
+                               0.3750000000000000,
+                               0.3750000000000000,
+                               0.3877551020408160,
+                               0.3877551020408160,
+                               0.3800000000000000,
+                               0.3800000000000000,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3673469387755100,
+                               0.3541666666666670,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3404255319148940,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3043478260869570,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2727272727272730,
+                               0.2888888888888890,
+                               0.2888888888888890,
+                               0.2826086956521740,
+                               0.2888888888888890,
+                               0.2888888888888890,
+                               0.3043478260869570,
+                               0.3191489361702130,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3409090909090910,
+                               0.3409090909090910,
+                               0.3409090909090910,
+                               0.3409090909090910,
+                               0.3409090909090910,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3333333333333330,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3555555555555560,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3478260869565220,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3478260869565220,
+                               0.3478260869565220,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3541666666666670,
+                               0.3541666666666670,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3617021276595740,
+                               0.3541666666666670,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3600000000000000,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3725490196078430,
+                               0.3800000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3877551020408160,
+                               0.3877551020408160,
+                               0.3877551020408160,
+                               0.3877551020408160,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3877551020408160,
+                               0.3877551020408160,
+                               0.3750000000000000,
+                               0.3750000000000000,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3695652173913040,
+                               0.3617021276595740,
+                               0.3695652173913040,
+                               0.3555555555555560,
+                               0.3409090909090910,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3777777777777780,
+                               0.3863636363636360,
+                               0.3953488372093020,
+                               0.3953488372093020,
+                               0.3953488372093020,
+                               0.3953488372093020,
+                               0.3863636363636360,
+                               0.3863636363636360,
+                               0.3863636363636360,
+                               0.3863636363636360,
+                               0.3863636363636360,
+                               0.3863636363636360,
+                               0.3863636363636360,
+                               0.3863636363636360,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3636363636363640,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3777777777777780,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3409090909090910,
+                               0.3409090909090910,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3414634146341460,
+                               0.3170731707317070,
+                               0.3095238095238100,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3095238095238100,
+                               0.3095238095238100,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3095238095238100,
+                               0.3095238095238100,
+                               0.3095238095238100,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3095238095238100,
+                               0.3095238095238100,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3409090909090910,
+                               0.3409090909090910,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3555555555555560,
+                               0.3409090909090910,
+                               0.3409090909090910,
+                               0.3488372093023260,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3829787234042550,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.3913043478260870,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.4042553191489360,
+                               0.3913043478260870,
+                               0.4000000000000000,
+                               0.4000000000000000,
+                               0.3863636363636360,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3636363636363640,
+                               0.3488372093023260,
+                               0.3488372093023260,
+                               0.3488372093023260,
+                               0.3409090909090910,
+                               0.3255813953488370,
+                               0.3255813953488370,
+                               0.3181818181818180,
+                               0.3181818181818180,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3260869565217390,
+                               0.3404255319148940,
+                               0.3404255319148940,
+                               0.3260869565217390,
+                               0.3023255813953490,
+                               0.3181818181818180,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3043478260869570,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3260869565217390,
+                               0.3260869565217390,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.3260869565217390,
+                               0.3111111111111110,
+                               0.3111111111111110,
+                               0.2954545454545450,
+                               0.2954545454545450,
+                               0.2954545454545450,
+                               0.2954545454545450,
+                               0.3260869565217390,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3191489361702130,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.3125000000000000,
+                               0.2978723404255320,
+                               0.2826086956521740,
+                               0.2826086956521740,
+                               0.2765957446808510,
+                               0.2978723404255320,
+                               0.2978723404255320,
+                               0.2916666666666670,
+                               0.2765957446808510,
+                               0.2765957446808510,
+                               0.2765957446808510,
+                               0.2765957446808510,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.3061224489795920,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.2916666666666670,
+                               0.2708333333333330,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2500000000000000,
+                               0.2340425531914890,
+                               0.2340425531914890,
+                               0.2173913043478260,
+                               0.2173913043478260,
+                               0.1956521739130430,
+                               0.1956521739130430,
+                               0.1956521739130430,
+                               0.1956521739130430,
+                               0.2173913043478260,
+                               0.2173913043478260,
+                               0.2000000000000000,
+                               0.2000000000000000,
+                               0.2173913043478260,
+                               0.2173913043478260,
+                               0.1956521739130430,
+                               0.1956521739130430,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2291666666666670,
+                               0.2244897959183670,
+                               0.2083333333333330,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1875000000000000,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1739130434782610,
+                               0.1702127659574470,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1836734693877550,
+                               0.1875000000000000,
+                               0.1914893617021280,
+                               0.1914893617021280,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1739130434782610,
+                               0.1777777777777780,
+                               0.1702127659574470,
+                               0.1702127659574470,
+                               0.1702127659574470,
+                               0.1702127659574470,
+                               0.1702127659574470,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1875000000000000,
+                               0.1836734693877550,
+                               0.1836734693877550,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1666666666666670,
+                               0.1458333333333330,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1428571428571430,
+                               0.1458333333333330,
+                               0.1458333333333330,
+                               0.1458333333333330,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1276595744680850,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1250000000000000,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1224489795918370,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1041666666666670,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1020408163265310,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1020408163265310,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0800000000000000,
+                               0.0816326530612245,
+                               0.1000000000000000,
+                               0.1000000000000000,
+                               0.0980392156862745,
+                               0.0980392156862745,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0961538461538462,
+                               0.0943396226415094,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0909090909090909,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0925925925925926,
+                               0.0909090909090909,
+                               0.0740740740740741,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0727272727272727,
+                               0.0714285714285714,
+                               0.0545454545454545,
+                               0.0545454545454545,
+                               0.0535714285714286,
+                               0.0535714285714286,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0363636363636364,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0357142857142857,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0350877192982456,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0344827586206897,
+                               0.0175438596491228,
+                               0.0175438596491228,
+                               0.0175438596491228
+                       }
+               }
+       };
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_PROB_FEATURES_MODEL_H__ */
diff --git a/src/place/recognition/user_places/similar.h b/src/place/recognition/user_places/similar.h
new file mode 100644 (file)
index 0000000..1495de8
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_SIMILAR_H__
+#define __CONTEXT_PLACE_STATUS_SIMILAR_H__
+
+#include "user_places_types.h"
+
+namespace ctx {
+
+       /* similarity functions */
+
+       template <class T> ctx::share_t overlap_first_over_second(const T &s1, const T &s2)
+       {
+               if (s2.empty()) {
+                       return 0;
+               }
+               int count = 0;
+               for (auto e : s2) {
+                       if (s1.find(e) != s1.end()) {
+                               count++;
+                       }
+               }
+               return (ctx::share_t) count / s2.size();
+       }
+
+       template <class T> ctx::share_t overlap_bigger_over_smaller(const T &s1, const T &s2)
+       {
+               if (s1.size() > s2.size()) {
+                       return overlap_first_over_second(s1, s2);
+               } else {
+                       return overlap_first_over_second(s2, s1);
+               }
+       }
+
+       template <class T> bool is_joint(const T &s1, const T &s2)
+       {
+               for (auto e : s2) {
+                       if (s1.find(e) != s1.end()) {
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_SIMILAR_H__ */
diff --git a/src/place/recognition/user_places/user_places.cpp b/src/place/recognition/user_places/user_places.cpp
new file mode 100644 (file)
index 0000000..4747ed1
--- /dev/null
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <ctime>
+#include <memory>
+#include <types_internal.h>
+#include "user_places.h"
+#include "places_detector.h"
+#include "timer_mgr.h"
+#include "../place_recognition_types.h"
+#include "db_mgr.h"
+
+ctx::UserPlaces::UserPlaces(place_recog_mode_e energy_mode)
+       : visit_detector(nullptr)
+       , places_detector(nullptr)
+       , places_detector_timer_id(-1)
+{
+       time_t now = std::time(nullptr);
+       visit_detector = new(std::nothrow) VisitDetector(now, energy_mode);
+       if (visit_detector == nullptr) {
+               _E("Cannot initialize visit_detector");
+               return;
+       }
+
+       places_detector = new(std::nothrow) PlacesDetector();
+       if (places_detector == nullptr) {
+               _E("Cannot initialize places_detector");
+               return;
+       }
+
+       places_detector_timer_id = timer_manager::set_at( // execute once every night
+                       PLACES_DETECTOR_TASK_START_HOUR,
+                       PLACES_DETECTOR_TASK_START_MINUTE,
+                       timer_types::EVERYDAY,
+                       places_detector);
+       if (places_detector_timer_id < 0) {
+               _E("PlacesDetector timer set FAIL");
+               return;
+       } else {
+               _D("PlacesDetector timer set SUCCESS");
+       }
+}
+
+ctx::UserPlaces::~UserPlaces()
+{
+       if (places_detector_timer_id >= 0) {
+               timer_manager::remove(places_detector_timer_id);
+               _D("PlacesDetector timer removed");
+       }
+
+       if (visit_detector) {
+               delete visit_detector;
+       }
+
+       if (places_detector) {
+               delete places_detector;
+       }
+};
+
+std::vector<std::shared_ptr<ctx::Place>> ctx::UserPlaces::get_places()
+{
+       if (places_detector) {
+               return places_detector->get_places();
+       } else {
+               return std::vector<std::shared_ptr<ctx::Place>>();
+       }
+}
+
+/*
+ * Example JSON output:
+ * ------------------------------------------------
+ * {
+ *       "PlacesList": [
+ *             {
+ *               "TypeId": 2,
+ *               "Name": "Work",
+ *               "GeoLatitude": 10.94433,
+ *               "GeoLongitude": 50.85504,
+ *               "WifiAPs": "00:1f:f3:5b:2b:1f,15:34:56:78:9a:ba,13:34:56:78:9a:ba",
+ *               "CreateDate": 12132567
+ *             },
+ *             {
+ *               "TypeId": 1,
+ *               "Name": "Home",
+ *               "GeoLatitude": 10.96233,
+ *               "GeoLongitude": 50.84304,
+ *               "WifiAPs": "aa:bb:cc:dd:ee:ff,10:34:56:78:9a:bc",
+ *               "CreateDate": 12132889
+ *             },
+ *             {
+ *               "TypeId": 3,
+ *               "Name": "Other",
+ *               "GeoLatitude": 10.96553,
+ *               "GeoLongitude": 50.80404,
+ *               "WifiAPs": "12:34:56:78:9a:ba",
+ *               "CreateDate": 12132346
+ *             }
+ *       ]
+ * }
+ */
+ctx::json ctx::UserPlaces::compose_json(std::vector<std::shared_ptr<Place>> places)
+{
+       ctx::json data;
+       for (std::shared_ptr<ctx::Place> place : places) {
+               ctx::json place_j;
+               place_j.set(NULL, PLACE_CATEG_ID, place->categ_id);
+               place_j.set(NULL, PLACE_CATEG_CONFIDENCE, place->categ_confidence);
+               place_j.set(NULL, PLACE_NAME, place->name);
+               if (place->location_valid) {
+                       place_j.set(NULL, PLACE_GEO_LATITUDE, place->location.latitude, GEO_LOCATION_PRECISION);
+                       place_j.set(NULL, PLACE_GEO_LONGITUDE, place->location.longitude, GEO_LOCATION_PRECISION);
+               }
+               place_j.set(NULL, PLACE_WIFI_APS, place->wifi_aps);
+               place_j.set(NULL, PLACE_CREATE_DATE, static_cast<int>(place->create_date));
+               data.array_append(NULL, DATA_READ, place_j);
+       }
+       return data;
+}
+
+void ctx::UserPlaces::set_mode(place_recog_mode_e energy_mode)
+{
+       if (visit_detector) {
+               visit_detector->set_mode(energy_mode);
+       }
+}
diff --git a/src/place/recognition/user_places/user_places.h b/src/place/recognition/user_places/user_places.h
new file mode 100644 (file)
index 0000000..2ad10ce
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_USER_PLACES_ENGINE_H__
+#define __CONTEXT_PLACE_STATUS_USER_PLACES_ENGINE_H__
+
+#include "visit_detector.h"
+#include "places_detector.h"
+#include <vector>
+#include "user_places_types.h"
+#include <json.h>
+
+namespace ctx {
+
+       class UserPlaces {
+
+       private:
+               VisitDetector *visit_detector;
+               PlacesDetector *places_detector;
+               int places_detector_timer_id;
+
+       public:
+               UserPlaces(place_recog_mode_e energy_mode = PLACE_RECOG_HIGH_ACCURACY_MODE);
+               ~UserPlaces();
+
+               void set_mode(place_recog_mode_e energy_mode);
+               std::vector<std::shared_ptr<Place>> get_places();
+               static json compose_json(std::vector<std::shared_ptr<Place>> places);
+
+       };      /* class UserPlaces */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_USER_PLACES_ENGINE_H__ */
+
diff --git a/src/place/recognition/user_places/user_places_params.h b/src/place/recognition/user_places/user_places_params.h
new file mode 100644 (file)
index 0000000..fc041c0
--- /dev/null
@@ -0,0 +1,111 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_USER_PLACES_PARAMS_H__
+#define __CONTEXT_PLACE_STATUS_USER_PLACES_PARAMS_H__
+
+/*
+ * WiFi scanning frequency (in minutes) in PLACE_RECOG_HIGH_ACCURACY_MODE.
+ */
+#define WIFI_LOGGER_INTERVAL_MINUTES_HIGH_ACCURACY 3
+
+/*
+ * WiFi scanning frequency (in minutes) in PLACE_RECOG_LOW_POWER_MODE.
+ */
+#define WIFI_LOGGER_INTERVAL_MINUTES_LOW_POWER 60
+
+/*
+ * Time window taken into consideration (in seconds) in PLACE_RECOG_HIGH_ACCURACY_MODE.
+ */
+#define VISIT_DETECTOR_PERIOD_SECONDS_HIGH_ACCURACY 360
+
+/*
+ * Time window taken into consideration (in seconds) in PLACE_RECOG_LOW_POWER_MODE.
+ */
+#define VISIT_DETECTOR_PERIOD_SECONDS_LOW_POWER 3600
+
+/*
+ * Overlap threshold between two sets of mac addresses (overlap
+ * coefficient for two sets should be higher than this threshold
+ * in order to detect stable radio environment); =< 1.0
+ * New parameter in algorithm compared to original version of PlaceSense!
+ */
+#define VISIT_DETECTOR_OVERLAP 0.8f
+
+/*
+ * Specifies how many stable intervals must be seen to
+ * indicate an entrance to a place; >= 1
+ */
+#define VISIT_DETECTOR_STABLE_DEPTH 1
+
+/*
+ * Representatives threshold (representatnive beacon
+ * response rate should be higher than this threshold); =< 1.0
+ */
+#define VISIT_DETECTOR_REP_THRESHOLD 0.9f
+
+/*
+ * Specifies how long scans must be unstable to indicate a leave form a place; >= 1
+ */
+#define VISIT_DETECTOR_TOLERANCE_DEPTH 3
+
+#define PLACES_DETECTOR_TASK_START_HOUR 3
+#define PLACES_DETECTOR_TASK_START_MINUTE 11
+#define PLACES_DETECTOR_RETENTION_DAYS 30
+#define PLACES_DETECTOR_RETENTION_SECONDS 24 * 60 * 60 * PLACES_DETECTOR_RETENTION_DAYS
+
+/*
+ * Number of digits after decimal point used in geo coordinates.
+ */
+#define GEO_LOCATION_PRECISION 7
+
+/*
+ * Minimal duration of visit (in minutes) taking into account for place detection
+ */
+#define PLACES_DETECTOR_MIN_VISIT_DURATION_MINUTES 15
+
+/*
+ * Maximum duration of visit (in minutes) taking into account for place detection
+ */
+#define PLACES_DETECTOR_MAX_VISIT_DURATION_MINUTES 5 * 24 * 60
+
+/*
+ * Minimum visits number per place
+ */
+#define PLACES_DETECTOR_MIN_VISITS_PER_PLACE 1
+
+/*
+ * Minimum visits number per big place
+ */
+#define PLACES_DETECTOR_MIN_VISITS_PER_BIG_PLACE 4
+
+/*
+ * Minimal visit category score for taking this visit into consideration during
+ * place categorization
+ */
+#define PLACES_CATEGER_MIN_VISITS_SCORE 0.1
+
+/*
+ * Minimum visits number per home
+ */
+#define PLACES_CATEGER_MIN_VISITS_PER_HOME 3
+
+/*
+ * Minimum visits number per work
+ */
+#define PLACES_CATEGER_MIN_VISITS_PER_WORK 2
+
+#endif /* __CONTEXT_PLACE_STATUS_USER_PLACES_PARAMS_H__ */
diff --git a/src/place/recognition/user_places/user_places_types.cpp b/src/place/recognition/user_places/user_places_types.cpp
new file mode 100644 (file)
index 0000000..3d72852
--- /dev/null
@@ -0,0 +1,250 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <set>
+#include <iostream>
+#include <iomanip>
+#include <sstream>
+#include <algorithm>
+#include <types_internal.h>
+#include "user_places_types.h"
+#include "user_places_params.h"
+#include "debug_utils.h"
+
+#define MAC_SET_STRING_DELIMITER ','
+
+ctx::Mac::Mac(const std::string& str)
+{
+       std::stringstream ss(str);
+       ss >> *this;
+}
+
+ctx::Mac::Mac(const char *str)
+{
+       std::stringstream ss(str);
+       ss >> *this;
+}
+
+std::istream& ctx::operator>>(std::istream &input, ctx::Mac &mac)
+{
+       int h;
+       char colon;
+       size_t i = 0;
+       while (true) {
+               input >> std::hex;
+               input >> h;
+               mac.c[i] = h;
+               i++;
+               if (i >= ctx::Mac::MAC_SIZE) {
+                       break;
+               }
+               input >> colon;
+               if (colon != ':') {
+                       throw std::runtime_error("Invalid mac format");
+               }
+       }
+       input >> std::dec;
+       return input;
+}
+
+std::ostream& ctx::operator<<(std::ostream &output, const ctx::Mac &mac)
+{
+       size_t i = 0;
+       while (true) {
+               output << std::hex << std::setfill('0') << std::setw(2);
+               output << static_cast<int>(mac.c[i]);
+               i++;
+               if (i >= Mac::MAC_SIZE) {
+                       break;
+               }
+               output << ":";
+       }
+       output << std::dec;
+       return output;
+}
+
+ctx::Mac::operator std::string() const
+{
+       std::stringstream ss;
+       ss << *this;
+       return ss.str();
+}
+
+bool ctx::operator==(const Mac &m1, const Mac &m2)
+{
+       for (size_t i = 0; i < Mac::MAC_SIZE; i++) {
+               if (m1.c[i] != m2.c[i]) {
+                       return false;
+               }
+       }
+       return true;
+}
+
+bool ctx::operator!=(const Mac &m1, const Mac &m2)
+{
+       return !(m1 == m2);
+}
+
+bool ctx::operator<(const Mac &m1, const Mac &m2)
+{
+       unsigned char c1, c2;
+       for (size_t i = 0; i < Mac::MAC_SIZE; i++) {
+               c1 = m1.c[i];
+               c2 = m2.c[i];
+               if (c1 < c2) {
+                       return true;
+               }
+               if (c1 > c2) {
+                       return false;
+               }
+       }
+       return false; // they are equal
+}
+
+std::istream& ctx::operator>>(std::istream &input, ctx::mac_set_t &mac_set)
+{
+       Mac mac;
+       char delimeter;
+       while (!input.eof()) {
+               input >> mac;
+               mac_set.insert(mac);
+               if (input.eof()) {
+                       break;
+               }
+               delimeter = input.get();
+               if (delimeter != MAC_SET_STRING_DELIMITER) {
+                       input.unget();
+                       break;
+               }
+       }
+       return input;
+}
+
+std::ostream& ctx::operator<<(std::ostream &output, const ctx::mac_set_t &mac_set)
+{
+       std::vector<Mac> mac_vec(mac_set.size());
+       std::copy(mac_set.begin(), mac_set.end(), mac_vec.begin());
+       std::sort(mac_vec.begin(), mac_vec.end());
+
+       bool first = true;
+       for (auto &mac: mac_vec) {
+               if (first) {
+                       first = false;
+               } else {
+                       output << MAC_SET_STRING_DELIMITER;
+               }
+               output << mac;
+       }
+       return output;
+}
+
+void ctx::location_event_s::log()
+{
+       std::string time_str = DebugUtils::human_readable_date_time(timestamp, "%T", 9);
+#ifdef TIZEN_ENGINEER_MODE
+       _D("location lat=%.8f, lon=%.8f, acc=%.2f[m], time=%s, method=%d",
+                       coordinates.latitude,
+                       coordinates.longitude,
+                       coordinates.accuracy,
+                       time_str.c_str(),
+                       method);
+#else /* TIZEN_ENGINEER_MODE */
+       _D("location lat=%.8f, lon=%.8f, acc=%.2f[m], time=%s",
+                       coordinates.latitude,
+                       coordinates.longitude,
+                       coordinates.accuracy,
+                       time_str.c_str());
+#endif /* TIZEN_ENGINEER_MODE */
+}
+
+void ctx::visit_s::set_location(location_s location_)
+{
+       location_valid = true;
+       location = location_;
+}
+
+void ctx::visit_s::print_short_to_stream(std::ostream &out) const
+{
+       // print only valid visits
+       if (interval.end != 0) {
+               float duration = ((float) (interval.end - interval.start)) / 3600; // [h]
+               out << "__VISIT " << duration << "h: ";
+                       out << DebugUtils::human_readable_date_time(interval.start, "%m/%d %H:%M", 15) << " Ã· ";
+                       out << DebugUtils::human_readable_date_time(interval.end, "%m/%d %H:%M", 15) << std::endl;
+       }
+}
+
+bool ctx::operator==(const ctx::visit_s &v1, const ctx::visit_s &v2)
+{
+       return v1.interval.start == v2.interval.start
+                       && v1.interval.end == v2.interval.end
+                       && v1.categs == v2.categs
+                       && v1.location.latitude == v2.location.latitude
+                       && v1.location.longitude == v2.location.longitude
+                       && v1.location.accuracy == v2.location.accuracy
+                       && v1.location_valid == v2.location_valid
+                       && v1.mac_set == v2.mac_set;
+}
+
+ctx::mac_set_t ctx::mac_set_from_string(const std::string &str)
+{
+       mac_set_t mac_set;
+       std::stringstream ss;
+       ss << str;
+       ss >> mac_set;
+       return mac_set;
+}
+
+bool ctx::operator>(const Mac &m1, const Mac &m2)
+{
+       return m2 < m1;
+}
+
+std::shared_ptr<ctx::mac_set_t> ctx::mac_set_from_mac_counts(const mac_counts_t &mac_counts)
+{
+       std::shared_ptr<mac_set_t> mac_set(std::make_shared<mac_set_t>());
+       for (auto &c: mac_counts) {
+               mac_set->insert(c.first);
+       }
+       return mac_set;
+}
+
+std::shared_ptr<ctx::mac_set_t> ctx::mac_sets_union(const std::vector<std::shared_ptr<mac_set_t>> &mac_sets)
+{
+       std::shared_ptr<mac_set_t> union_set = std::make_shared<mac_set_t>();
+       for (std::shared_ptr<mac_set_t> mac_set : mac_sets) {
+               union_set->insert(mac_set->begin(), mac_set->end());
+       }
+       return union_set;
+}
+
+ctx::interval_s::interval_s(time_t start_, time_t end_) : start(start_), end(end_) {
+       if (end_ < start_) {
+               _E("Negative interval, start=%d, end=%d", start_, end_);
+       }
+}
+
+void ctx::Place::print_to_stream(std::ostream &out) const
+{
+       out << "PLACE:" << std::endl;
+       out << "__CATEGORY: " << name << std::endl;
+       if (location_valid) {
+               out << "__LOCATION: lat=" << std::setprecision(GEO_LOCATION_PRECISION + 2) << location.latitude;
+               out << ", lon=" << location.longitude << std::setprecision(5) << std::endl;
+       }
+       out << "__WIFI:" << wifi_aps << std::endl;
+       out << "__CREATE_DATE: " << DebugUtils::human_readable_date_time(create_date, "%F %T", 80) << std::endl;
+}
diff --git a/src/place/recognition/user_places/user_places_types.h b/src/place/recognition/user_places/user_places_types.h
new file mode 100644 (file)
index 0000000..8eed322
--- /dev/null
@@ -0,0 +1,217 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_USER_PLACES_TYPES_H__
+#define __CONTEXT_PLACE_STATUS_USER_PLACES_TYPES_H__
+
+#include <memory>
+#include <vector>
+#include <map>
+#include <unordered_map>
+#include <unordered_set>
+#include "graph.h"
+#include "../place_recognition_types.h"
+#include <string>
+#include <ctime>
+
+namespace ctx {
+
+       /*
+        * type for numerical computations
+        */
+       typedef double num_t;
+
+       /*
+        * mac address
+        */
+       class Mac {
+
+       public:
+               const static size_t MAC_SIZE = 6;  // number of bytes for mac address.
+               unsigned char c[MAC_SIZE];
+
+               Mac() {};
+               Mac(const std::string &str);
+               Mac(const char *str);
+               operator std::string() const;
+
+       };      /* class Mac */
+
+       std::istream &operator>>(std::istream &input, ctx::Mac &mac);
+       std::ostream &operator<<(std::ostream &output, const ctx::Mac &mac);
+       bool operator==(const ctx::Mac &m1, const ctx::Mac &m2);
+       bool operator!=(const ctx::Mac &m1, const ctx::Mac &m2);
+       bool operator<(const ctx::Mac &m1, const ctx::Mac &m2);
+       bool operator>(const ctx::Mac &m1, const ctx::Mac &m2);
+
+}      /* namespace ctx */
+
+namespace std {
+
+       template <> struct hash<ctx::Mac> {
+               size_t operator()(const ctx::Mac & m) const {
+                       size_t h = 1;
+                       for (size_t i = 0; i < ctx::Mac::MAC_SIZE; i++) {
+                               h = h * 37 + m.c[i];
+                       }
+                       return h;
+               }
+       };
+
+}      /* namespace std */
+
+namespace ctx {
+
+       typedef float share_t;
+       typedef int count_t;
+
+       typedef std::unordered_map<ctx::Mac, ctx::count_t> mac_counts_t;
+       typedef std::unordered_map<ctx::Mac, ctx::share_t> mac_shares_t;
+
+       typedef std::unordered_set<ctx::Mac> mac_set_t;
+
+       std::istream &operator>>(std::istream &input, ctx::mac_set_t &mac_set);
+       std::ostream &operator<<(std::ostream &output, const ctx::mac_set_t &mac_set);
+       ctx::mac_set_t mac_set_from_string(const std::string &str);
+
+       std::shared_ptr<mac_set_t> mac_sets_union(const std::vector<std::shared_ptr<mac_set_t>> &mac_sets);
+
+       struct interval_s {
+               time_t start;
+               time_t end;
+
+               interval_s(time_t start_, time_t end_);
+       };
+
+}      /* namespace ctx */
+
+namespace std {
+
+       template <> struct hash<ctx::interval_s> {
+               size_t operator()(const ctx::interval_s & interval) const {
+                       return interval.end * interval.start;
+               }
+       };
+
+}      /* namespace std */
+
+namespace ctx {
+
+       /*
+        * fully describes interval data after the interval is finished
+        */
+       struct frame_s {
+               interval_s interval;
+               count_t no_timestamps;
+               mac_counts_t mac_counts;
+
+               frame_s(interval_s interval_) : interval(interval_), no_timestamps(0) {};
+       };
+
+       /*
+        * mac address + its timestamp
+        */
+       struct mac_event_s {
+               time_t timestamp;
+               Mac mac;
+
+               mac_event_s(time_t timestamp_, Mac mac_) : timestamp(timestamp_), mac(mac_) {}
+       };
+
+       typedef std::map<int, num_t> categs_t; // scores of categories
+
+       struct location_s {
+               double latitude;
+               double longitude;
+               double accuracy; // [m]
+
+               location_s(double latitude_ = 0.0, double longitude_ = 0.0, double accuracy_ = -1.0)
+                       : latitude(latitude_), longitude(longitude_), accuracy(accuracy_) {}
+
+       };      /* struct location_s */
+
+#ifdef TIZEN_ENGINEER_MODE
+       typedef enum {
+               LOCATION_METHOD_REQUEST = 0,
+               LOCATION_METHOD_GET_LOCATION = 1,
+               LOCATION_METHOD_GET_LAST_LOCATION = 2
+       } location_source_e;
+#endif /* TIZEN_ENGINEER_MODE */
+
+       /*
+        * location + timestamp + method
+        */
+       struct location_event_s {
+               location_s coordinates;
+               time_t timestamp;
+
+#ifdef TIZEN_ENGINEER_MODE
+               location_source_e method;
+
+               location_event_s(double latitude_, double longitude_, double accuracy_, time_t timestamp_, location_source_e method_)
+                       : coordinates(latitude_, longitude_, accuracy_), timestamp(timestamp_), method(method_) {}
+#else /* TIZEN_ENGINEER_MODE */
+               location_event_s(double latitude_, double longitude_, double accuracy_, time_t timestamp_)
+                       : coordinates(latitude_, longitude_, accuracy_), timestamp(timestamp_) {}
+#endif /* TIZEN_ENGINEER_MODE */
+
+               void log();
+
+       };      /* struct location_event_s */
+
+       struct visit_s {
+               interval_s interval;
+               std::shared_ptr<mac_set_t> mac_set;
+               categs_t categs;
+               bool location_valid;
+               location_s location; // makes sense if location_valid == true;
+
+               visit_s(interval_s interval_, std::shared_ptr<mac_set_t> mac_set_ = std::make_shared<mac_set_t>(), categs_t categs_ = categs_t()) :
+                       interval(interval_),
+                       mac_set(mac_set_),
+                       categs(categs_),
+                       location_valid(false) {}
+               void set_location(location_s location);
+               void print_short_to_stream(std::ostream &out) const;
+
+       };      /* struct visit_s */
+
+       bool operator==(const visit_s &v1, const visit_s &v2);
+       typedef std::vector<visit_s> visits_t;
+       typedef std::vector<mac_event_s> mac_events; // used to store current interval logs
+
+       std::shared_ptr<mac_set_t> mac_set_from_mac_counts(const mac_counts_t &mac_counts);
+
+       typedef float confidence_t;
+
+       class Place {
+
+       public:
+               place_categ_id_e categ_id; // category of a place (work/home/other)
+               confidence_t categ_confidence; // confidence of the above category - between [0,1]
+               std::string name; // for now: "work"/"home"/"other"
+               bool location_valid;
+               location_s location; // makes sense if location_valid == true;
+               std::string wifi_aps; // WiFi APs MAC addresses separated by ","
+               time_t create_date; // The last update time of this place
+
+               void print_to_stream(std::ostream &out) const;
+
+       };      /* class Place */
+
+}      /* namespace ctx */
+
+#endif /*__CONTEXT_PLACE_STATUS_USER_PLACES_TYPES_H__*/
diff --git a/src/place/recognition/user_places/visit_categer.cpp b/src/place/recognition/user_places/visit_categer.cpp
new file mode 100644 (file)
index 0000000..fb19d10
--- /dev/null
@@ -0,0 +1,423 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "visit_categer.h"
+#include "mahal.h"
+#include <time.h>
+#include "../place_recognition_types.h"
+#include "prob_features_model.h"
+#include <types_internal.h>
+
+// categorizer model parameters trained offline (implemented in python):
+const std::map<int, ctx::MahalModel> ctx::VisitCateger::models({
+{
+       PLACE_CATEG_ID_HOME,
+       ctx::MahalModel(
+       {
+               0.588408417316, 0.475154840361, -0.564085141865, 0.077711893790, 0.782630398597, -0.650926403250, -0.101943950378
+       },
+       {
+               0.797977863370, -0.133179879257, 0.242803062646, -0.059448581046, -0.117039646748, 0.097645535057, 0.014250290052,
+               -0.133179879257, 1.028900241400, -0.252245407243, 0.058455883835, -0.283950879851, 0.172204076583, 0.247906065767,
+               0.242803062646, -0.252245407243, 1.832134785177, 0.327188225606, 0.874905851092, -0.371088938012, -1.289816938938,
+               -0.059448581046, 0.058455883835, 0.327188225606, 1.455090164348, 0.138363721074, 0.216985279422, -1.113021128017,
+               -0.117039646748, -0.283950879851, 0.874905851092, 0.138363721074, 1.379674755873, -0.977922749615, -0.738895486376,
+               0.097645535057, 0.172204076583, -0.371088938012, 0.216985279422, -0.977922749615, 0.899928922718, -0.158101631251,
+               0.014250290052, 0.247906065767, -1.289816938938, -1.113021128017, -0.738895486376, -0.158101631251, 2.644105309746
+       })
+},
+{
+       PLACE_CATEG_ID_WORK,
+       ctx::MahalModel(
+       {
+               -0.128092670982, -0.762177819157, 0.262924477521, -0.412038966097, -1.049141893517, 1.104760800499, -0.628939955525
+       },
+       {
+               15.751249839350, 11.389025401325, -9.885346240379, -0.010809392387, -1.308837060762, 0.970778241189, 0.558946631235,
+               11.389025401325, 12.830223040140, -8.517695939156, 0.293693134532, -0.845784968295, 1.418175236596, -2.246658259974,
+               -9.885346240379, -8.517695939156, 10.222750966685, 0.390448668966, 1.095218945062, -0.403733435617, -1.815103304859,
+               -0.010809392387, 0.293693134532, 0.390448668966, 2.256864603458, 0.632080300647, -0.019551779384, -1.751417951792,
+               -1.308837060762, -0.845784968295, 1.095218945062, 0.632080300647, 3.132753467561, -1.427748733399, -4.291958669471,
+               0.970778241189, 1.418175236596, -0.403733435617, -0.019551779384, -1.427748733399, 1.183055586213, 0.200571452172,
+               0.558946631235, -2.246658259974, -1.815103304859, -1.751417951792, -4.291958669471, 0.200571452172, 11.668888615934
+       })
+},
+{
+       PLACE_CATEG_ID_OTHER,
+       ctx::MahalModel(
+       {
+               -0.542340098504, 0.184789511765, 0.387451546413, 0.301902661472, 0.109392397093, -0.310468874039, 0.709513920221
+       },
+       {
+               2.153884992301, -0.129488409324, 0.136236052776, -0.138043678532, -0.227492557156, 0.117810812390, 0.265072329266,
+               -0.129488409324, 3.165213522741, -1.751520714507, 0.467831090302, -0.483916138161, 0.376293684450, 0.149387541935,
+               0.136236052776, -1.751520714507, 2.483475248800, 0.384085303028, 0.338642175318, -0.052000492068, -0.801404345627,
+               -0.138043678532, 0.467831090302, 0.384085303028, 1.972390458477, -0.025332052563, 0.393845805027, -1.225948397955,
+               -0.227492557156, -0.483916138161, 0.338642175318, -0.025332052563, 0.890301343360, -0.549163112351, -0.746838701215,
+               0.117810812390, 0.376293684450, -0.052000492068, 0.393845805027, -0.549163112351, 0.474674836872, 0.012417969474,
+               0.265072329266, 0.149387541935, -0.801404345627, -1.225948397955, -0.746838701215, 0.012417969474, 2.104629121515
+       })
+}});
+
+ctx::PiecewiseLin ctx::VisitCateger::chi_approx(
+{
+       0.  ,  0.01,  0.02,  0.03,  0.04,  0.05,  0.06,  0.07,  0.08,
+       0.09,  0.1 ,  0.11,  0.12,  0.13,  0.14,  0.15,  0.16,  0.17,
+       0.18,  0.19,  0.2 ,  0.21,  0.22,  0.23,  0.24,  0.25,  0.26,
+       0.27,  0.28,  0.29,  0.3 ,  0.31,  0.32,  0.33,  0.34,  0.35,
+       0.36,  0.37,  0.38,  0.39,  0.4 ,  0.41,  0.42,  0.43,  0.44,
+       0.45,  0.46,  0.47,  0.48,  0.49,  0.5 ,  0.51,  0.52,  0.53,
+       0.54,  0.55,  0.56,  0.57,  0.58,  0.59,  0.6 ,  0.61,  0.62,
+       0.63,  0.64,  0.65,  0.66,  0.67,  0.68,  0.69,  0.7 ,  0.71,
+       0.72,  0.73,  0.74,  0.75,  0.76,  0.77,  0.78,  0.79,  0.8 ,
+       0.81,  0.82,  0.83,  0.84,  0.85,  0.86,  0.87,  0.88,  0.89,
+       0.9 ,  0.91,  0.92,  0.93,  0.94,  0.95,  0.96,  0.97,  0.98,
+       0.99,  1.  ,  1.01,  1.02,  1.03,  1.04,  1.05,  1.06,  1.07,
+       1.08,  1.09,  1.1 ,  1.11,  1.12,  1.13,  1.14,  1.15,  1.16,
+       1.17,  1.18,  1.19,  1.2 ,  1.21,  1.22,  1.23,  1.24,  1.25,
+       1.26,  1.27,  1.28,  1.29,  1.3 ,  1.31,  1.32,  1.33,  1.34,
+       1.35,  1.36,  1.37,  1.38,  1.39,  1.4 ,  1.41,  1.42,  1.43,
+       1.44,  1.45,  1.46,  1.47,  1.48,  1.49,  1.5 ,  1.51,  1.52,
+       1.53,  1.54,  1.55,  1.56,  1.57,  1.58,  1.59,  1.6 ,  1.61,
+       1.62,  1.63,  1.64,  1.65,  1.66,  1.67,  1.68,  1.69,  1.7 ,
+       1.71,  1.72,  1.73,  1.74,  1.75,  1.76,  1.77,  1.78,  1.79,
+       1.8 ,  1.81,  1.82,  1.83,  1.84,  1.85,  1.86,  1.87,  1.88,
+       1.89,  1.9 ,  1.91,  1.92,  1.93,  1.94,  1.95,  1.96,  1.97,
+       1.98,  1.99,  2.  ,  2.01,  2.02,  2.03,  2.04,  2.05,  2.06,
+       2.07,  2.08,  2.09,  2.1 ,  2.11,  2.12,  2.13,  2.14,  2.15,
+       2.16,  2.17,  2.18,  2.19,  2.2 ,  2.21,  2.22,  2.23,  2.24,
+       2.25,  2.26,  2.27,  2.28,  2.29,  2.3 ,  2.31,  2.32,  2.33,
+       2.34,  2.35,  2.36,  2.37,  2.38,  2.39,  2.4 ,  2.41,  2.42,
+       2.43,  2.44,  2.45,  2.46,  2.47,  2.48,  2.49,  2.5 ,  2.51,
+       2.52,  2.53,  2.54,  2.55,  2.56,  2.57,  2.58,  2.59,  2.6 ,
+       2.61,  2.62,  2.63,  2.64,  2.65,  2.66,  2.67,  2.68,  2.69,
+       2.7 ,  2.71,  2.72,  2.73,  2.74,  2.75,  2.76,  2.77,  2.78,
+       2.79,  2.8 ,  2.81,  2.82,  2.83,  2.84,  2.85,  2.86,  2.87,
+       2.88,  2.89,  2.9 ,  2.91,  2.92,  2.93,  2.94,  2.95,  2.96,
+       2.97,  2.98,  2.99,  3.  ,  3.01,  3.02,  3.03,  3.04,  3.05,
+       3.06,  3.07,  3.08,  3.09,  3.1 ,  3.11,  3.12,  3.13,  3.14,
+       3.15,  3.16,  3.17,  3.18,  3.19,  3.2 ,  3.21,  3.22,  3.23,
+       3.24,  3.25,  3.26,  3.27,  3.28,  3.29,  3.3 ,  3.31,  3.32,
+       3.33,  3.34,  3.35,  3.36,  3.37,  3.38,  3.39,  3.4 ,  3.41,
+       3.42,  3.43,  3.44,  3.45,  3.46,  3.47,  3.48,  3.49,  3.5 ,
+       3.51,  3.52,  3.53,  3.54,  3.55,  3.56,  3.57,  3.58,  3.59,
+       3.6 ,  3.61,  3.62,  3.63,  3.64,  3.65,  3.66,  3.67,  3.68,
+       3.69,  3.7 ,  3.71,  3.72,  3.73,  3.74,  3.75,  3.76,  3.77,
+       3.78,  3.79,  3.8 ,  3.81,  3.82,  3.83,  3.84,  3.85,  3.86,
+       3.87,  3.88,  3.89,  3.9 ,  3.91,  3.92,  3.93,  3.94,  3.95,
+       3.96,  3.97,  3.98,  3.99,  4.  ,  4.01,  4.02,  4.03,  4.04,
+       4.05,  4.06,  4.07,  4.08,  4.09,  4.1 ,  4.11,  4.12,  4.13,
+       4.14,  4.15,  4.16,  4.17,  4.18,  4.19,  4.2 ,  4.21,  4.22,
+       4.23,  4.24,  4.25,  4.26,  4.27,  4.28,  4.29,  4.3 ,  4.31,
+       4.32,  4.33,  4.34,  4.35,  4.36,  4.37,  4.38,  4.39,  4.4 ,
+       4.41,  4.42,  4.43,  4.44,  4.45,  4.46,  4.47,  4.48,  4.49,
+       4.5 ,  4.51,  4.52,  4.53,  4.54,  4.55,  4.56,  4.57,  4.58,
+       4.59,  4.6 ,  4.61,  4.62,  4.63,  4.64,  4.65,  4.66,  4.67,
+       4.68,  4.69,  4.7 ,  4.71,  4.72,  4.73,  4.74,  4.75,  4.76,
+       4.77,  4.78,  4.79,  4.8 ,  4.81,  4.82,  4.83,  4.84,  4.85,
+       4.86,  4.87,  4.88,  4.89,  4.9 ,  4.91,  4.92,  4.93,  4.94,
+       4.95,  4.96,  4.97,  4.98,  4.99,  5.  ,  5.01,  5.02,  5.03,
+       5.04,  5.05,  5.06,  5.07,  5.08,  5.09,  5.1 ,  5.11,  5.12,
+       5.13,  5.14,  5.15,  5.16,  5.17,  5.18,  5.19,  5.2 ,  5.21,
+       5.22,  5.23,  5.24,  5.25,  5.26,  5.27,  5.28,  5.29,  5.3 ,
+       5.31,  5.32,  5.33,  5.34,  5.35,  5.36,  5.37,  5.38,  5.39,
+       5.4 ,  5.41,  5.42,  5.43,  5.44,  5.45,  5.46,  5.47,  5.48,
+       5.49,  5.5 ,  5.51,  5.52,  5.53,  5.54,  5.55,  5.56,  5.57,
+       5.58,  5.59,  5.6 ,  5.61,  5.62,  5.63,  5.64,  5.65,  5.66,
+       5.67,  5.68,  5.69,  5.7 ,  5.71,  5.72,  5.73,  5.74,  5.75,
+       5.76,  5.77,  5.78,  5.79,  5.8 ,  5.81,  5.82,  5.83,  5.84,
+       5.85,  5.86,  5.87,  5.88,  5.89,  5.9 ,  5.91,  5.92,  5.93,
+       5.94,  5.95,  5.96,  5.97,  5.98,  5.99,  6.  ,  6.01,  6.02,
+       6.03,  6.04,  6.05,  6.06,  6.07,  6.08,  6.09,  6.1 ,  6.11,
+       6.12,  6.13,  6.14,  6.15,  6.16,  6.17,  6.18,  6.19,  6.2 ,
+       6.21,  6.22,  6.23,  6.24,  6.25,  6.26,  6.27,  6.28,  6.29,
+       6.3 ,  6.31,  6.32,  6.33,  6.34,  6.35,  6.36,  6.37,  6.38,
+       6.39,  6.4 ,  6.41,  6.42,  6.43,  6.44,  6.45,  6.46,  6.47,
+       6.48,  6.49,  6.5 ,  6.51,  6.52,  6.53,  6.54,  6.55,  6.56,
+       6.57,  6.58,  6.59,  6.6 ,  6.61,  6.62,  6.63,  6.64,  6.65,
+       6.66,  6.67,  6.68,  6.69,  6.7 ,  6.71,  6.72,  6.73,  6.74,
+       6.75,  6.76,  6.77,  6.78,  6.79,  6.8 ,  6.81,  6.82,  6.83,
+       6.84,  6.85,  6.86,  6.87,  6.88,  6.89,  6.9 ,  6.91,  6.92,
+       6.93,  6.94,  6.95,  6.96,  6.97,  6.98,  6.99,  7.
+},
+{
+       0.      ,  0.      ,  0.      ,  0.      ,  0.      ,  0.      ,
+       0.      ,  0.      ,  0.      ,  0.      ,  0.      ,  0.      ,
+       0.      ,  0.      ,  0.      ,  0.      ,  0.      ,  0.      ,
+       0.      ,  0.      ,  0.      ,  0.      ,  0.      ,  0.      ,
+       0.      ,  0.      ,  0.000001,  0.000001,  0.000001,  0.000001,
+       0.000002,  0.000002,  0.000003,  0.000003,  0.000004,  0.000005,
+       0.000006,  0.000007,  0.000008,  0.00001 ,  0.000012,  0.000014,
+       0.000016,  0.000019,  0.000023,  0.000026,  0.000031,  0.000035,
+       0.000041,  0.000047,  0.000054,  0.000062,  0.00007 ,  0.00008 ,
+       0.000091,  0.000103,  0.000116,  0.000131,  0.000147,  0.000165,
+       0.000185,  0.000207,  0.000231,  0.000257,  0.000285,  0.000316,
+       0.00035 ,  0.000387,  0.000427,  0.000471,  0.000518,  0.000569,
+       0.000624,  0.000683,  0.000747,  0.000816,  0.00089 ,  0.00097 ,
+       0.001055,  0.001147,  0.001245,  0.001349,  0.001461,  0.00158 ,
+       0.001708,  0.001843,  0.001987,  0.002141,  0.002303,  0.002476,
+       0.002659,  0.002854,  0.003059,  0.003276,  0.003506,  0.003748,
+       0.004004,  0.004274,  0.004558,  0.004857,  0.005171,  0.005502,
+       0.00585 ,  0.006215,  0.006597,  0.006999,  0.007419,  0.007859,
+       0.00832 ,  0.008802,  0.009305,  0.009831,  0.01038 ,  0.010953,
+       0.01155 ,  0.012172,  0.01282 ,  0.013495,  0.014197,  0.014927,
+       0.015686,  0.016473,  0.017291,  0.01814 ,  0.019021,  0.019933,
+       0.020879,  0.021858,  0.022872,  0.023921,  0.025006,  0.026127,
+       0.027285,  0.028482,  0.029717,  0.030992,  0.032306,  0.033662,
+       0.035059,  0.036497,  0.037979,  0.039504,  0.041073,  0.042687,
+       0.044345,  0.04605 ,  0.047801,  0.049599,  0.051445,  0.053339,
+       0.055282,  0.057273,  0.059315,  0.061406,  0.063548,  0.065742,
+       0.067986,  0.070283,  0.072632,  0.075034,  0.077488,  0.079996,
+       0.082558,  0.085174,  0.087843,  0.090568,  0.093346,  0.09618 ,
+       0.099069,  0.102013,  0.105012,  0.108066,  0.111176,  0.114342,
+       0.117563,  0.120839,  0.124171,  0.127558,  0.131001,  0.134499,
+       0.138052,  0.141659,  0.145322,  0.149039,  0.15281 ,  0.156635,
+       0.160514,  0.164446,  0.168431,  0.172469,  0.176559,  0.180701,
+       0.184894,  0.189138,  0.193432,  0.197776,  0.202169,  0.206611,
+       0.211101,  0.215639,  0.220223,  0.224853,  0.229528,  0.234248,
+       0.239012,  0.24382 ,  0.248669,  0.25356 ,  0.258492,  0.263464,
+       0.268474,  0.273523,  0.278608,  0.283731,  0.288888,  0.29408 ,
+       0.299305,  0.304562,  0.309851,  0.31517 ,  0.320519,  0.325895,
+       0.331299,  0.336729,  0.342185,  0.347664,  0.353166,  0.35869 ,
+       0.364234,  0.369798,  0.375381,  0.38098 ,  0.386596,  0.392227,
+       0.397871,  0.403529,  0.409197,  0.414876,  0.420565,  0.426261,
+       0.431964,  0.437673,  0.443387,  0.449103,  0.454822,  0.460543,
+       0.466263,  0.471981,  0.477698,  0.483411,  0.48912 ,  0.494822,
+       0.500518,  0.506206,  0.511886,  0.517554,  0.523212,  0.528858,
+       0.53449 ,  0.540108,  0.545711,  0.551297,  0.556866,  0.562417,
+       0.567948,  0.573459,  0.578949,  0.584417,  0.589861,  0.595282,
+       0.600677,  0.606048,  0.611391,  0.616707,  0.621995,  0.627254,
+       0.632483,  0.637681,  0.642848,  0.647984,  0.653086,  0.658155,
+       0.66319 ,  0.66819 ,  0.673155,  0.678084,  0.682976,  0.687831,
+       0.692649,  0.697428,  0.702168,  0.70687 ,  0.711531,  0.716153,
+       0.720733,  0.725273,  0.729772,  0.734228,  0.738643,  0.743015,
+       0.747344,  0.75163 ,  0.755873,  0.760072,  0.764227,  0.768339,
+       0.772406,  0.776428,  0.780406,  0.784339,  0.788228,  0.792071,
+       0.795869,  0.799622,  0.80333 ,  0.806992,  0.810609,  0.814181,
+       0.817707,  0.821188,  0.824624,  0.828015,  0.83136 ,  0.83466 ,
+       0.837916,  0.841126,  0.844292,  0.847413,  0.85049 ,  0.853522,
+       0.85651 ,  0.859455,  0.862355,  0.865212,  0.868026,  0.870796,
+       0.873524,  0.876209,  0.878852,  0.881452,  0.884011,  0.886528,
+       0.889005,  0.89144 ,  0.893834,  0.896189,  0.898503,  0.900778,
+       0.903014,  0.90521 ,  0.907369,  0.909488,  0.911571,  0.913615,
+       0.915623,  0.917594,  0.919528,  0.921427,  0.92329 ,  0.925118,
+       0.926911,  0.92867 ,  0.930395,  0.932086,  0.933745,  0.93537 ,
+       0.936963,  0.938525,  0.940055,  0.941554,  0.943022,  0.94446 ,
+       0.945869,  0.947248,  0.948598,  0.949919,  0.951213,  0.952478,
+       0.953717,  0.954928,  0.956113,  0.957273,  0.958406,  0.959514,
+       0.960598,  0.961657,  0.962692,  0.963703,  0.964692,  0.965657,
+       0.9666  ,  0.967521,  0.968421,  0.969299,  0.970156,  0.970993,
+       0.97181 ,  0.972607,  0.973385,  0.974144,  0.974884,  0.975605,
+       0.976309,  0.976996,  0.977665,  0.978317,  0.978953,  0.979572,
+       0.980176,  0.980764,  0.981337,  0.981895,  0.982438,  0.982967,
+       0.983482,  0.983984,  0.984472,  0.984947,  0.985409,  0.985858,
+       0.986296,  0.986721,  0.987135,  0.987537,  0.987929,  0.988309,
+       0.988678,  0.989038,  0.989387,  0.989726,  0.990056,  0.990376,
+       0.990687,  0.990989,  0.991282,  0.991566,  0.991843,  0.992111,
+       0.992371,  0.992624,  0.992869,  0.993106,  0.993337,  0.99356 ,
+       0.993777,  0.993988,  0.994191,  0.994389,  0.99458 ,  0.994766,
+       0.994946,  0.99512 ,  0.995289,  0.995452,  0.99561 ,  0.995764,
+       0.995912,  0.996056,  0.996195,  0.996329,  0.99646 ,  0.996586,
+       0.996708,  0.996825,  0.996939,  0.99705 ,  0.997156,  0.99726 ,
+       0.997359,  0.997456,  0.997549,  0.997639,  0.997726,  0.99781 ,
+       0.997891,  0.997969,  0.998045,  0.998118,  0.998189,  0.998257,
+       0.998323,  0.998386,  0.998447,  0.998506,  0.998563,  0.998618,
+       0.998671,  0.998723,  0.998772,  0.998819,  0.998865,  0.998909,
+       0.998952,  0.998993,  0.999033,  0.999071,  0.999107,  0.999143,
+       0.999177,  0.99921 ,  0.999241,  0.999272,  0.999301,  0.999329,
+       0.999356,  0.999382,  0.999407,  0.999431,  0.999455,  0.999477,
+       0.999498,  0.999519,  0.999539,  0.999558,  0.999576,  0.999594,
+       0.999611,  0.999627,  0.999643,  0.999658,  0.999672,  0.999686,
+       0.999699,  0.999712,  0.999724,  0.999736,  0.999747,  0.999758,
+       0.999769,  0.999779,  0.999788,  0.999797,  0.999806,  0.999815,
+       0.999823,  0.99983 ,  0.999838,  0.999845,  0.999852,  0.999858,
+       0.999865,  0.999871,  0.999876,  0.999882,  0.999887,  0.999892,
+       0.999897,  0.999902,  0.999906,  0.99991 ,  0.999915,  0.999918,
+       0.999922,  0.999926,  0.999929,  0.999932,  0.999936,  0.999938,
+       0.999941,  0.999944,  0.999947,  0.999949,  0.999952,  0.999954,
+       0.999956,  0.999958,  0.99996 ,  0.999962,  0.999964,  0.999965,
+       0.999967,  0.999969,  0.99997 ,  0.999972,  0.999973,  0.999974,
+       0.999975,  0.999977,  0.999978,  0.999979,  0.99998 ,  0.999981,
+       0.999982,  0.999983,  0.999984,  0.999984,  0.999985,  0.999986,
+       0.999987,  0.999987,  0.999988,  0.999988,  0.999989,  0.99999 ,
+       0.99999 ,  0.999991,  0.999991,  0.999992,  0.999992,  0.999992,
+       0.999993,  0.999993,  0.999993,  0.999994,  0.999994,  0.999994,
+       0.999995,  0.999995,  0.999995,  0.999995,  0.999996,  0.999996,
+       0.999996,  0.999996,  0.999997,  0.999997,  0.999997,  0.999997,
+       0.999997,  0.999997,  0.999998,  0.999998,  0.999998,  0.999998,
+       0.999998,  0.999998,  0.999998,  0.999998,  0.999998,  0.999998,
+       0.999999,  0.999999,  0.999999,  0.999999,  0.999999,  0.999999,
+       0.999999,  0.999999,  0.999999,  0.999999,  0.999999,  0.999999,
+       0.999999,  0.999999,  0.999999,  0.999999,  0.999999,  0.999999,
+       0.999999,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.      ,  1.      ,
+       1.      ,  1.      ,  1.      ,  1.      ,  1.
+} // this is chi cdf for 7 degrees of freedom (because we have 7 features)
+);
+
+const std::vector<ctx::num_t> ctx::VisitCateger::features_mean(
+{
+       344.542975696503,
+       894.178423236515,
+       868.300533491405,
+       2.820391227030,
+       0.511747454052,
+       0.348669092762,
+       0.139583453187
+});
+
+const std::vector<ctx::num_t> ctx::VisitCateger::features_std(
+{
+       416.061437196941,
+       301.401812101781,
+       300.774466281622,
+       1.916233112930,
+       0.314254748759,
+       0.360707461975,
+       0.109386661911
+});
+
+ctx::time_features_s ctx::VisitCateger::time_features(const time_t &time)
+{
+       struct tm *timeinfo = localtime(&time);
+       if (timeinfo == NULL) {
+               return {0, 0, 0, false};
+       }
+       int minutes_since_midnight = 60 * timeinfo->tm_hour + timeinfo->tm_min;
+       int weekday = (timeinfo->tm_wday + 6) % 7; // Monday is 0, Sunday is 6
+       bool weekend = weekday > 4;
+       int minutes_since_begining_of_the_week = 24 * 60 * weekday + minutes_since_midnight;
+       return {
+               minutes_since_midnight,
+               minutes_since_begining_of_the_week,
+               weekday,
+               weekend
+       };
+}
+
+int ctx::VisitCateger::weeks_scope(const time_features_s &start_f, const interval_s &interval)
+{
+       int duration_minutes = (interval.end - interval.start) / 60;
+       int scope_minutes = start_f.minutes_since_begining_of_the_week + duration_minutes;
+       int weeks_scope = scope_minutes / MINUTES_IN_WEEK;
+       if (scope_minutes % MINUTES_IN_WEEK > 0) {
+               weeks_scope++;
+       }
+       return weeks_scope;
+}
+
+ctx::num_t ctx::VisitCateger::sum(const std::vector<num_t> model, const size_t &from, const size_t &to)
+{
+       size_t to_secure = to;
+       if (to >= model.size()) {
+               _E("'to' exceeds model size");
+               to_secure = model.size() - 1;
+       }
+
+       if (from > to) {
+               _E("'from' greater than 'to'");
+       }
+
+       num_t result = 0.0;
+       for (size_t i = from; i <= to_secure; i++) {
+               result += model[i];
+       }
+
+       return result;
+}
+
+ctx::num_t ctx::VisitCateger::week_model_mean_value(place_categ_id_e categ, const interval_s &interval,
+               const time_features_s &start_f, const time_features_s &end_f)
+{
+       num_t ret = 0.0;
+       int minutes = 0;
+       int ws = weeks_scope(start_f, interval);
+       for (int week = 1; week <= ws; week++) {
+               size_t start_index = (week == 1)
+                               ? start_f.minutes_since_begining_of_the_week
+                               : 0;
+               size_t end_index = (week == ws)
+                               ? end_f.minutes_since_begining_of_the_week
+                               : MINUTES_IN_WEEK - 1;
+               ret += sum(week_model[categ], start_index, end_index);
+               minutes += end_index - start_index + 1;
+       }
+       if (minutes > 0) {
+               return ret / minutes;
+       }
+       return ret;
+}
+
+ctx::categs_t ctx::VisitCateger::week_model_features(const interval_s &interval,       const time_features_s &start_f,
+               const time_features_s &end_f)
+{
+       ctx::categs_t categs;
+       for (const auto &item : week_model) {
+               categs[item.first] = week_model_mean_value(item.first, interval, start_f,       end_f);
+       }
+       _D("categs: H=%.12f, W=%.12f, O=%.12f",
+                       categs[PLACE_CATEG_ID_HOME],
+                       categs[PLACE_CATEG_ID_WORK],
+                       categs[PLACE_CATEG_ID_OTHER]);
+       return categs;
+}
+
+std::vector<ctx::num_t> ctx::VisitCateger::interval_features(const interval_s &interval)
+{
+       num_t duration_minutes = 1.0 * (interval.end - interval.start) / 60;
+       time_features_s start_features = time_features(interval.start);
+       time_features_s end_features = time_features(interval.end);
+       categs_t week_features = week_model_features(interval, start_features, end_features);
+       return {
+               duration_minutes,
+               (num_t) start_features.minutes_since_midnight,
+               (num_t) end_features.minutes_since_midnight,
+               (num_t) start_features.weekday,
+               week_features[PLACE_CATEG_ID_HOME],
+               week_features[PLACE_CATEG_ID_WORK],
+               week_features[PLACE_CATEG_ID_OTHER]
+       };
+}
+
+void ctx::VisitCateger::normalize(std::vector<ctx::num_t> &features)
+{
+       size_t n = features.size();
+       for (size_t i = 0; i < n; i++) {
+               features[i] -= features_mean[i];
+               features[i] /= features_std[i];
+       }
+}
+
+void ctx::VisitCateger::categorize(ctx::visit_s &visit)
+{
+       std::vector<ctx::num_t> features = interval_features(visit.interval);
+       normalize(features);
+
+       for (auto &model_pair : models) {
+               int categ_i = model_pair.first;
+               MahalModel model = model_pair.second;
+
+               num_t mahal_dist = model.dist(features);
+               num_t prob = 1 - chi_approx.val(mahal_dist); // sth like probability but not exactly
+               visit.categs[categ_i] = prob;
+       }
+}
diff --git a/src/place/recognition/user_places/visit_categer.h b/src/place/recognition/user_places/visit_categer.h
new file mode 100644 (file)
index 0000000..6ab762e
--- /dev/null
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_VISIT_CATEGER_H__
+#define __CONTEXT_PLACE_STATUS_VISIT_CATEGER_H__
+
+#include "user_places_types.h"
+#include "mahal.h"
+#include "piecewise_lin.h"
+#include <map>
+
+namespace ctx {
+
+       struct time_features_s {
+           int minutes_since_midnight;
+           int minutes_since_begining_of_the_week;
+           int weekday;
+           bool weekend;
+       };
+
+       /*
+        * visit categorizer class
+        */
+       class VisitCateger {
+
+       private:
+               const static int MINUTES_IN_WEEK = 60 * 24 * 7;
+               const static std::map<int, MahalModel> models;
+               const static std::vector<num_t> features_mean;
+               const static std::vector<num_t> features_std;
+               static num_t sum(const std::vector<num_t> model, const size_t &from, const size_t &to);
+               static num_t week_model_mean_value(place_categ_id_e categ, const interval_s &interval,
+                               const time_features_s &start_f, const time_features_s &end_f);
+               static void normalize(std::vector<num_t> &features);
+
+       public:
+               static PiecewiseLin chi_approx; // tabled chi function approximator
+
+               /**
+                * Function interpret time in timestamp input argument,
+                *
+                * @param  time             timestamp
+                * @return time_features_s  structure with interpretations of timestamp
+                */
+               static time_features_s time_features(const time_t &time);
+
+               static int weeks_scope(const time_features_s &start_f, const interval_s &interval);
+
+               /**
+                * Function interpret time interval input argument and calculates scores
+                * that argument interval is home, work or other based on whole week model.
+                *
+                * @param  interval  time interval
+                * @param  start_f       start time features
+                * @param  end_f         end time features
+                * @return categs_t  score that argument interval is home, work or other
+                */
+               static categs_t week_model_features(const interval_s &interval, const time_features_s &start_f,
+                               const time_features_s &end_f);
+
+               /**
+                * Function interpret time interval input argument,
+                *
+                * @param  interval            time interval
+                * @return std::vector<num_t>  vector with interpretations of input time interval
+                */
+               static std::vector<num_t> interval_features(const interval_s &interval);
+
+               /**
+                * Function categorize visit based on visits time interval and fill its categories values.
+                */
+               static void categorize(ctx::visit_s &visit);
+
+       };      /* class VisitCateger */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_VISIT_CATEGER_H__ */
diff --git a/src/place/recognition/user_places/visit_detector.cpp b/src/place/recognition/user_places/visit_detector.cpp
new file mode 100644 (file)
index 0000000..0123b93
--- /dev/null
@@ -0,0 +1,454 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <set>
+#include <iostream>
+#include <iomanip>
+#include <sstream>
+#include <types_internal.h>
+#include <db_mgr.h>
+#include <json.h>
+#include "../place_recognition_types.h"
+#include "visit_detector.h"
+#include "user_places_params.h"
+#include "visit_categer.h"
+#include "similar.h"
+#include "median.h"
+#include "debug_utils.h"
+
+#ifdef TIZEN_ENGINEER_MODE
+#define VISIT_TABLE_COLUMNS \
+       VISIT_COLUMN_WIFI_APS " TEXT, "\
+       VISIT_COLUMN_START_TIME " timestamp, "\
+       VISIT_COLUMN_END_TIME " timestamp, "\
+       VISIT_COLUMN_START_TIME_HUMAN " TEXT, "\
+       VISIT_COLUMN_END_TIME_HUMAN " TEXT, "\
+       VISIT_COLUMN_LOCATION_VALID " INTEGER, "\
+       VISIT_COLUMN_LOCATION_LATITUDE " REAL, "\
+       VISIT_COLUMN_LOCATION_LONGITUDE " REAL, "\
+       VISIT_COLUMN_CATEG_HOME " REAL, "\
+       VISIT_COLUMN_CATEG_WORK " REAL, "\
+       VISIT_COLUMN_CATEG_OTHER " REAL"
+#else /* TIZEN_ENGINEER_MODE */
+#define VISIT_TABLE_COLUMNS \
+       VISIT_COLUMN_WIFI_APS " TEXT, "\
+       VISIT_COLUMN_START_TIME " timestamp, "\
+       VISIT_COLUMN_END_TIME " timestamp, "\
+       VISIT_COLUMN_LOCATION_VALID " INTEGER, "\
+       VISIT_COLUMN_LOCATION_LATITUDE " REAL, "\
+       VISIT_COLUMN_LOCATION_LONGITUDE " REAL, "\
+       VISIT_COLUMN_CATEG_HOME " REAL, "\
+       VISIT_COLUMN_CATEG_WORK " REAL, "\
+       VISIT_COLUMN_CATEG_OTHER " REAL"
+#endif /* TIZEN_ENGINEER_MODE */
+
+
+ctx::VisitDetector::VisitDetector(time_t t_start_scan, place_recog_mode_e energy_mode, bool test_mode_)
+       : test_mode(test_mode_)
+       , location_logger(this, test_mode_)
+       , wifi_logger(this, energy_mode, test_mode_)
+       , current_interval(t_start_scan, t_start_scan + VISIT_DETECTOR_PERIOD_SECONDS_HIGH_ACCURACY)
+       , stable_counter(0)
+       , tolerance(VISIT_DETECTOR_TOLERANCE_DEPTH)
+       , entrance_to_place(false)
+       , period_seconds(VISIT_DETECTOR_PERIOD_SECONDS_HIGH_ACCURACY)
+       , entrance_time(0)
+       , departure_time(0)
+{
+       set_period(energy_mode);
+       current_interval = interval_s(t_start_scan, t_start_scan + period_seconds);
+       current_logger = std::make_shared<mac_events>();
+       stay_macs = std::make_shared<mac_set_t>();
+
+       if (test_mode) {
+               detected_visits = std::make_shared<ctx::visits_t>();
+               return;
+       }
+
+       listeners.push_back(&location_logger);
+       listeners.push_back(&wifi_logger);
+       db_create_table();
+       wifi_logger.start_logging();
+}
+
+ctx::VisitDetector::~VisitDetector()
+{
+}
+
+ctx::interval_s ctx::VisitDetector::get_current_interval()
+{
+       return current_interval;
+}
+
+bool ctx::VisitDetector::is_valid(const ctx::Mac &mac)
+{
+       return mac != "00:00:00:00:00:00";
+}
+
+void ctx::VisitDetector::on_wifi_scan(ctx::mac_event_s e)
+{
+       _D("timestamp=%d, curent_interval.end=%d, mac=%s", e.timestamp, current_interval.end, std::string(e.mac).c_str());
+       if (is_valid(e.mac)) {
+               while (e.timestamp > current_interval.end) {
+                       process_current_logger();
+                       shift_current_interval();
+               }
+               current_logger->push_back(e);
+       }
+}
+
+void ctx::VisitDetector::process_current_logger()
+{
+       _D("");
+       std::shared_ptr<ctx::frame_s> frame = make_frame(this->current_logger, this->current_interval);
+       detect_entrance_or_departure(frame);
+       current_logger->clear();
+}
+
+std::shared_ptr<ctx::frame_s> ctx::VisitDetector::make_frame(std::shared_ptr<ctx::mac_events> logger, ctx::interval_s interval)
+{
+       std::set<time_t> timestamps;
+       std::shared_ptr<frame_s> frame = std::make_shared<frame_s>(interval);
+       for (auto log : *logger) {
+               timestamps.insert(log.timestamp);
+               if (frame->mac_counts.find(log.mac) == frame->mac_counts.end()) {
+                       frame->mac_counts[log.mac] = 1;
+               } else {
+                       frame->mac_counts[log.mac] += 1;
+               }
+       }
+       frame->no_timestamps = timestamps.size();
+       return frame;
+}
+
+void ctx::VisitDetector::shift_current_interval()
+{
+       current_interval.end += period_seconds;
+       current_interval.start += period_seconds;
+}
+
+void ctx::VisitDetector::detect_entrance_or_departure(std::shared_ptr<ctx::frame_s> frame)
+{
+       entrance_to_place ? detect_departure(frame) : detect_entrance(frame);
+}
+
+bool ctx::VisitDetector::is_disjoint(const ctx::mac_counts_t &mac_counts, const ctx::mac_set_t &mac_set)
+{
+       for (auto &mac : mac_set) {
+               if (mac_counts.find(mac) != mac_counts.end()) {
+                       return false;
+               }
+       }
+       return true;
+}
+
+bool ctx::VisitDetector::protrudes_from(const ctx::mac_counts_t &mac_counts, const ctx::mac_set_t &mac_set)
+{
+       for (auto &m : mac_counts) {
+               if (mac_set.find(m.first) == mac_set.end()) {
+                       return true;
+               }
+       }
+       return false;
+}
+
+void ctx::VisitDetector::detect_departure(std::shared_ptr<ctx::frame_s> frame)
+{
+       if (tolerance == VISIT_DETECTOR_TOLERANCE_DEPTH) {
+               departure_time = frame->interval.start;
+               buffered_frames.clear();
+       } else { // tolerance < VISIT_DETECTOR_TOLERANCE_DEPTH
+               buffered_frames.push_back(frame);
+       }
+       if (is_disjoint(frame->mac_counts, *rep_macs)) {
+               if (frame->mac_counts.empty() || protrudes_from(frame->mac_counts, *stay_macs)) {
+                       tolerance--;
+               } else { // no new macs
+                       buffered_frames.clear();
+               }
+               if (tolerance == 0) { // departure detected
+                       visit_end_detected();
+                       buffer_processing(frame);
+               }
+       } else if (tolerance < VISIT_DETECTOR_TOLERANCE_DEPTH) {
+               tolerance++;
+       }
+}
+
+void ctx::VisitDetector::visit_start_detected()
+{
+       entrance_to_place = true;
+
+       locations.clear();
+       if (!test_mode) {
+               for (IVisitListener* listener : listeners) {
+                       listener->on_visit_start();
+               }
+       }
+       rep_macs = select_representatives(history_frames);
+       entrance_time = history_frames[0]->interval.start;
+       _I("Entrance detected, timestamp: %d", entrance_time);
+       history_reset();
+}
+
+void ctx::VisitDetector::visit_end_detected()
+{
+       if (!test_mode) {
+               for (IVisitListener* listener : listeners) {
+                       listener->on_visit_end();
+               }
+       }
+       _I("Departure detected, timestamp: %d", departure_time);
+
+       interval_s interval(entrance_time, departure_time);
+       visit_s visit(interval, rep_macs);
+       VisitCateger::categorize(visit);
+
+       put_visit_location(visit);
+
+       if (test_mode) {
+               detected_visits->push_back(visit);
+       } else {
+               db_insert_visit(visit);
+       }
+
+       // cleaning
+       entrance_to_place = false;
+       rep_macs.reset();
+       tolerance = VISIT_DETECTOR_TOLERANCE_DEPTH;
+}
+
+void ctx::VisitDetector::put_visit_location(ctx::visit_s &visit)
+{
+       // TODO: remove small accuracy locations from vectors?
+       std::vector<double> latitudes;
+       std::vector<double> longitudes;
+       visit.location_valid = false;
+       for (location_event_s location : locations) {
+               if (location.timestamp >= entrance_time && location.timestamp <= departure_time) {
+                       latitudes.push_back(location.coordinates.latitude);
+                       longitudes.push_back(location.coordinates.longitude);
+                       visit.location_valid = true;
+               }
+       }
+       if (visit.location_valid) {
+               visit.location.latitude = median(latitudes);
+               visit.location.longitude = median(longitudes);
+               _D("visit location set: lat=%.8f, lon=%.8f", visit.location.latitude, visit.location.longitude);
+       } else {
+               _D("visit location not set");
+       }
+}
+
+void ctx::VisitDetector::buffer_processing(std::shared_ptr<ctx::frame_s> frame)
+{
+       if (buffered_frames.empty()) {
+               history_frames.push_back(frame);
+       } else {
+               history_frames.push_back(buffered_frames[0]);
+               for (size_t i = 1; i < buffered_frames.size(); i++) {
+                       detect_entrance(buffered_frames[i]);
+                       if (entrance_to_place) {
+                               break;
+                       }
+               }
+       }
+}
+
+void ctx::VisitDetector::detect_entrance(std::shared_ptr<ctx::frame_s> current_frame)
+{
+       if (current_frame->mac_counts.empty() || history_frames.empty()) {
+               history_reset(current_frame);
+               return;
+       }
+
+       if (stable_counter == 0) {
+               std::shared_ptr<frame_s> oldest_history_frame = history_frames[0];
+               stay_macs = mac_set_from_mac_counts(oldest_history_frame->mac_counts);
+       }
+
+       std::shared_ptr<mac_set_t> current_beacons = mac_set_from_mac_counts(current_frame->mac_counts);
+
+       if (overlap_bigger_over_smaller(*current_beacons, *stay_macs) > VISIT_DETECTOR_OVERLAP) {
+               stable_counter++;
+               history_frames.push_back(current_frame);
+
+               if (stable_counter == VISIT_DETECTOR_STABLE_DEPTH) { // entrance detected
+                       visit_start_detected();
+               }
+       } else {
+               history_reset(current_frame);
+       }
+       return;
+}
+
+void ctx::VisitDetector::history_reset()
+{
+       stable_counter = 0;
+       history_frames.clear();
+}
+
+void ctx::VisitDetector::history_reset(std::shared_ptr<frame_s> frame)
+{
+       history_reset();
+       history_frames.push_back(frame);
+}
+
+std::shared_ptr<ctx::mac_set_t> ctx::VisitDetector::select_representatives(const std::vector<std::shared_ptr<frame_s>> &frames)
+{
+       mac_counts_t repr_counts;
+       count_t all_count = 0;
+
+       for (auto frame : frames) {
+               all_count += frame->no_timestamps;
+               for (auto &c : frame->mac_counts) {
+                       repr_counts[c.first] += c.second;
+               }
+       }
+
+       std::shared_ptr<mac_shares_t> repr_shares = mac_shares_from_counts(repr_counts, all_count);
+
+       share_t max_share = calc_max_share(*repr_shares);
+       share_t threshold = max_share < VISIT_DETECTOR_REP_THRESHOLD ?
+               max_share : VISIT_DETECTOR_REP_THRESHOLD;
+
+       std::shared_ptr<mac_set_t> repr_mac_set = mac_set_of_greater_or_equal_share(*repr_shares, threshold);
+
+       return repr_mac_set;
+}
+
+ctx::share_t ctx::VisitDetector::calc_max_share(const ctx::mac_shares_t &mac_shares)
+{
+       ctx::share_t max_value = 0.0;
+       for (auto &ms : mac_shares) {
+               if (ms.second > max_value) {
+                       max_value = ms.second;
+               }
+       }
+       return max_value;
+}
+
+std::shared_ptr<ctx::mac_set_t> ctx::VisitDetector::mac_set_of_greater_or_equal_share(const ctx::mac_shares_t &mac_shares, ctx::share_t threshold)
+{
+       std::shared_ptr<mac_set_t> mac_set = std::make_shared<mac_set_t>();
+       for (auto &ms : mac_shares) {
+               if (ms.second >= threshold) {
+                       mac_set->insert(ms.first);
+               }
+       }
+       return mac_set;
+}
+
+std::shared_ptr<ctx::mac_shares_t> ctx::VisitDetector::mac_shares_from_counts(ctx::mac_counts_t const &mac_counts, ctx::count_t denominator)
+{
+       std::shared_ptr<mac_shares_t> mac_shares(std::make_shared<mac_shares_t>());
+       for (auto mac_count : mac_counts) {
+               (*mac_shares)[mac_count.first] = (share_t) mac_count.second / denominator;
+       }
+       return mac_shares;
+}
+
+std::shared_ptr<ctx::visits_t> ctx::VisitDetector::get_visits()
+{
+       return detected_visits;
+}
+
+void ctx::VisitDetector::db_create_table()
+{
+       bool ret = db_manager::create_table(0, VISIT_TABLE, VISIT_TABLE_COLUMNS);
+       _D("db: visit Table Creation Result: %s", ret ? "SUCCESS" : "FAIL");
+}
+
+void ctx::VisitDetector::json_put_visit_categ(json &data, const char* key, const categs_t &categs, int categ_type)
+{
+       auto categ_p = categs.find(categ_type);
+       if (categ_p == categs.end()) {
+               _E("json_put_visit no type %d in categs", categ_type);
+       } else {
+               data.set(NULL, key, categ_p->second);
+       }
+}
+
+void ctx::VisitDetector::json_put_visit_categs(json &data, const categs_t &categs)
+{
+       json_put_visit_categ(data, VISIT_COLUMN_CATEG_HOME, categs, PLACE_CATEG_ID_HOME);
+       json_put_visit_categ(data, VISIT_COLUMN_CATEG_WORK, categs, PLACE_CATEG_ID_WORK);
+       json_put_visit_categ(data, VISIT_COLUMN_CATEG_OTHER, categs, PLACE_CATEG_ID_OTHER);
+}
+
+int ctx::VisitDetector::db_insert_visit(visit_s visit)
+{
+       std::stringstream macs_ss;
+       macs_ss << *visit.mac_set;
+
+       json data;
+       data.set(NULL, VISIT_COLUMN_WIFI_APS, macs_ss.str().c_str());
+
+       data.set(NULL, VISIT_COLUMN_LOCATION_VALID, visit.location_valid);
+       data.set(NULL, VISIT_COLUMN_LOCATION_LATITUDE, visit.location.latitude, GEO_LOCATION_PRECISION);
+       data.set(NULL, VISIT_COLUMN_LOCATION_LONGITUDE, visit.location.longitude, GEO_LOCATION_PRECISION);
+
+       data.set(NULL, VISIT_COLUMN_START_TIME, static_cast<int>(visit.interval.start));
+       data.set(NULL, VISIT_COLUMN_END_TIME, static_cast<int>(visit.interval.end));
+
+#ifdef TIZEN_ENGINEER_MODE
+       std::string start_time_human = DebugUtils::human_readable_date_time(visit.interval.start, "%F %T", 80);
+       std::string end_time_human = DebugUtils::human_readable_date_time(visit.interval.end, "%F %T", 80);
+       data.set(NULL, VISIT_COLUMN_START_TIME_HUMAN, start_time_human.c_str());
+       data.set(NULL, VISIT_COLUMN_END_TIME_HUMAN, end_time_human.c_str());
+
+       json_put_visit_categs(data, visit.categs);
+
+       _D("db: visit table insert interval: (%d, %d): (%s, %s)",
+                       visit.interval.start, visit.interval.end, start_time_human.c_str(), end_time_human.c_str());
+#else
+       json_put_visit_categs(data, visit.categs);
+
+       _D("db: visit table insert interval: (%d, %d)", visit.interval.start, visit.interval.end);
+#endif /* TIZEN_ENGINEER_MODE */
+
+       bool ret = db_manager::insert(0, VISIT_TABLE, data);
+       _D("db: visit table insert result: %s", ret ? "SUCCESS" : "FAIL");
+       return ret;
+}
+
+void ctx::VisitDetector::on_new_location(location_event_s location_event)
+{
+       _D("");
+       location_event.log();
+       locations.push_back(location_event);
+};
+
+void ctx::VisitDetector::set_period(place_recog_mode_e energy_mode)
+{
+       switch (energy_mode) {
+       case PLACE_RECOG_LOW_POWER_MODE:
+               period_seconds = VISIT_DETECTOR_PERIOD_SECONDS_LOW_POWER;
+               break;
+       case PLACE_RECOG_HIGH_ACCURACY_MODE:
+               period_seconds = VISIT_DETECTOR_PERIOD_SECONDS_HIGH_ACCURACY;
+               break;
+       default:
+               _E("Incorrect energy mode");
+       }
+}
+
+void ctx::VisitDetector::set_mode(place_recog_mode_e energy_mode)
+{
+       _D("");
+       set_period(energy_mode);
+       wifi_logger.set_mode(energy_mode);
+}
diff --git a/src/place/recognition/user_places/visit_detector.h b/src/place/recognition/user_places/visit_detector.h
new file mode 100644 (file)
index 0000000..ccde0b2
--- /dev/null
@@ -0,0 +1,102 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_VISIT_DETECTOR_H__
+#define __CONTEXT_PLACE_STATUS_VISIT_DETECTOR_H__
+
+#include <memory>
+#include <vector>
+#include <map>
+#include <unordered_map>
+#include <unordered_set>
+#include "user_places_types.h"
+#include <json.h>
+#include "visit_listener_iface.h"
+#include "location_logger.h"
+#include "location_listener_iface.h"
+#include "wifi_listener_iface.h"
+#include "wifi_logger.h"
+
+namespace ctx {
+
+       class VisitDetector : public IWifiListener, ILocationListener {
+
+       private:
+               bool test_mode;
+               std::shared_ptr<visits_t> detected_visits;   // only used in test mode
+               LocationLogger location_logger;
+               WifiLogger wifi_logger;
+               std::vector<IVisitListener*> listeners;
+
+               std::shared_ptr<mac_events> current_logger;
+               interval_s current_interval;
+
+               std::vector<std::shared_ptr<frame_s>> history_frames;  // python: history_scans  + history_times
+               std::vector<std::shared_ptr<frame_s>> buffered_frames; // python: buffered_scans + buffered_times
+
+               int stable_counter;
+               int tolerance;
+               bool entrance_to_place;
+               int period_seconds;
+
+               // fields that  are used only in case of entrance detection
+               std::shared_ptr<mac_set_t> rep_macs; // mac that represent the current place
+               std::shared_ptr<mac_set_t> stay_macs; // macs that can appear in the current place
+               time_t entrance_time;
+               time_t departure_time;
+
+               std::vector<location_event_s> locations;
+
+               bool is_valid(const Mac &mac);
+               void shift_current_interval();
+               void detect_entrance_or_departure(std::shared_ptr<frame_s> frame);
+               void detect_entrance(std::shared_ptr<frame_s> frame);
+               void detect_departure(std::shared_ptr<frame_s> frame);
+               void buffer_processing(std::shared_ptr<frame_s> frame); // python: buffer_anaysing
+               std::shared_ptr<frame_s> make_frame(std::shared_ptr<mac_events> mac_events, interval_s interval);  // python: scans2fingerprint
+               void history_reset();
+               void history_reset(std::shared_ptr<frame_s> frame);
+               void visit_start_detected();
+               void visit_end_detected();
+               void put_visit_location(visit_s &visit);
+               std::shared_ptr<mac_set_t> select_representatives(const std::vector<std::shared_ptr<frame_s>> &frames);
+               std::shared_ptr<mac_set_t> mac_set_of_greater_or_equal_share(const mac_shares_t &mac_shares, share_t threshold);
+               std::shared_ptr<mac_shares_t> mac_shares_from_counts(mac_counts_t const &mac_counts, count_t denominator); // python: response_rate
+               share_t calc_max_share(const mac_shares_t &mac_shares);
+               bool is_disjoint(const mac_counts_t &mac_counts, const mac_set_t &mac_set);
+               bool protrudes_from(const mac_counts_t &mac_counts, const mac_set_t &mac_set);
+
+               void db_create_table();
+               void json_put_visit_categ(json &data, const char* key, const categs_t &categs, int categ_type);
+               void json_put_visit_categs(json &data, const categs_t &categs);
+               int db_insert_visit(visit_s visit);
+               void set_period(place_recog_mode_e mode);
+
+       public:
+               VisitDetector(time_t t_start_scan, place_recog_mode_e energy_mode = PLACE_RECOG_HIGH_ACCURACY_MODE, bool test_mode_ = false);
+               ~VisitDetector();
+               interval_s get_current_interval();
+               void on_wifi_scan(mac_event_s event);
+               void process_current_logger();
+               std::shared_ptr<visits_t> get_visits(); // only used in test mode
+               void on_new_location(location_event_s location);
+               void set_mode(place_recog_mode_e energy_mode);
+
+       };      /* class VisitDetector */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_VISIT_DETECTOR_H__ */
diff --git a/src/place/recognition/user_places/visit_listener_iface.h b/src/place/recognition/user_places/visit_listener_iface.h
new file mode 100644 (file)
index 0000000..9b87b70
--- /dev/null
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_VISIT_LISTENER_IFACE_H__
+#define __CONTEXT_PLACE_STATUS_VISIT_LISTENER_IFACE_H__
+
+namespace ctx {
+
+       class IVisitListener {
+
+       public:
+               virtual ~IVisitListener() {};
+               virtual void on_visit_start() = 0;
+               virtual void on_visit_end() = 0;
+
+       };      /* class IVisitListener */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_VISIT_LISTENER_IFACE_H__ */
diff --git a/src/place/recognition/user_places/wifi_listener_iface.h b/src/place/recognition/user_places/wifi_listener_iface.h
new file mode 100644 (file)
index 0000000..e9a546c
--- /dev/null
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_WIFI_LISTENER_IFACE_H__
+#define __CONTEXT_PLACE_STATUS_WIFI_LISTENER_IFACE_H__
+
+#include "user_places_types.h"
+
+namespace ctx {
+
+       class IWifiListener {
+
+       public:
+               virtual ~IWifiListener() {};
+               virtual void on_wifi_scan(ctx::mac_event_s e) = 0;
+
+       };      /* IWifiListener */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_WIFI_LISTENER_IFACE_H__ */
diff --git a/src/place/recognition/user_places/wifi_logger.cpp b/src/place/recognition/user_places/wifi_logger.cpp
new file mode 100644 (file)
index 0000000..92bcdd4
--- /dev/null
@@ -0,0 +1,472 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "wifi_logger.h"
+#include <types_internal.h>
+#include "../place_recognition_types.h"
+#include <db_mgr.h>
+#include <sstream>
+#include "debug_utils.h"
+
+#define WIFI_CREATE_TABLE_COLUMNS \
+       WIFI_COLUMN_TIMESTAMP " timestamp NOT NULL, "\
+       WIFI_COLUMN_BSSID " TEXT NOT NULL"
+
+#define _WIFI_ERROR_LOG(error) { \
+       if (error != WIFI_ERROR_NONE) { \
+               _E("ERROR == %s", wifi_error_str(error)); \
+       } else { \
+               _D("SUCCESS"); \
+       } \
+}
+
+int ctx::WifiLogger::create_table()
+{
+       bool ret = db_manager::create_table(0, WIFI_TABLE_NAME, WIFI_CREATE_TABLE_COLUMNS, NULL, NULL);
+       _D("Table Creation Request: %s", ret ? "SUCCESS" : "FAIL");
+       return ret;
+}
+
+int ctx::WifiLogger::db_insert_logs()
+{
+       if (logs.size() > 0) {
+               std::stringstream query;
+               const char* separator = " ";
+               query << "BEGIN TRANSACTION; \
+                               INSERT INTO " WIFI_TABLE_NAME " \
+                               ( " WIFI_COLUMN_BSSID ", " WIFI_COLUMN_TIMESTAMP " ) \
+                               VALUES";
+               for (mac_event_s mac_event : logs) {
+                       query << separator << "( '" << mac_event.mac << "', '" << mac_event.timestamp << "' )";
+                       separator = ", ";
+               }
+               logs.clear();
+               query << "; \
+                               END TRANSACTION;";
+               bool ret = ctx::db_manager::execute(0, query.str().c_str(), NULL);
+               _D("DB insert request: %s", ret ? "SUCCESS" : "FAIL");
+               return ret;
+       }
+       _D("logs vector empty -> nothing to insert");
+       return 0;
+}
+
+ctx::WifiLogger::WifiLogger(IWifiListener * listener_, place_recog_mode_e energy_mode, bool test_mode_)
+       : test_mode(test_mode_)
+       , listener(listener_)
+       , last_scan_time(time_t(0))
+       , last_timer_callback_time(time_t(0))
+       , timer_on(false)
+       , interval_minutes(WIFI_LOGGER_INTERVAL_MINUTES_HIGH_ACCURACY)
+       , during_visit(false)
+       , started(false)
+       , running(false)
+{
+       _D("CONSTRUCTOR");
+       if (test_mode) {
+               return;
+       }
+       set_interval(energy_mode);
+
+       if (WIFI_LOGGER_DATABASE) {
+               create_table();
+       }
+
+       logs = std::vector<mac_event_s>();
+
+       wifi_initialize_request();
+       wifi_set_device_state_changed_cb_request();
+       if (WIFI_LOGGER_LOW_POWER_MODE) {
+               wifi_set_connection_state_changed_cb_request();
+       }
+       wifi_connection_state_e state = wifi_get_connection_state_request();
+       connected_to_wifi_ap = (state == WIFI_CONNECTION_STATE_CONNECTED);
+       _D("connected_to_wifi_ap = %d, during_visit = %d IN CONSTRUCTOR",
+                               static_cast<int>(connected_to_wifi_ap),
+                               static_cast<int>(during_visit));
+}
+
+ctx::WifiLogger::~WifiLogger()
+{
+       _D("DESTRUCTOR");
+       stop_logging();
+       wifi_deinitialize_request();
+}
+
+void ctx::WifiLogger::wifi_device_state_changed_cb(wifi_device_state_e state, void *user_data)
+{
+       ctx::WifiLogger* wifi_logger_p = (ctx::WifiLogger *)user_data;
+       switch (state) {
+       case WIFI_DEVICE_STATE_DEACTIVATED:
+               _D("WIFI setting OFF");
+               if (wifi_logger_p->started) {
+                       wifi_logger_p->_stop_logging();
+               }
+               break;
+       case WIFI_DEVICE_STATE_ACTIVATED:
+               _D("WIFI setting ON");
+               if (wifi_logger_p->started) {
+                       wifi_logger_p->_start_logging();
+               }
+               break;
+       default:
+               break;
+       }
+}
+
+void ctx::WifiLogger::wifi_connection_state_changed_cb(wifi_connection_state_e state, wifi_ap_h ap, void *user_data)
+{
+       ctx::WifiLogger* wifi_logger_p = (ctx::WifiLogger *)user_data;
+       switch (state) {
+       case WIFI_CONNECTION_STATE_CONNECTED:
+               _D("connected to AP");
+               wifi_logger_p->connected_to_wifi_ap = true;
+               break;
+       default:
+               _D("disconnected from AP -> last_scans_pool.clear()");
+               wifi_logger_p->connected_to_wifi_ap = false;
+               wifi_logger_p->last_scans_pool.clear();
+               break;
+       }
+       // TODO: Check if AP bssid (MAC Address) will be helpful somehow in LOW_POWER mode
+}
+
+bool ctx::WifiLogger::wifi_found_ap_cb(wifi_ap_h ap, void *user_data)
+{
+       ctx::WifiLogger* wifi_logger_p = (ctx::WifiLogger *)user_data;
+
+       char *bssid = NULL;
+       int ret = wifi_ap_get_bssid_request(ap, &bssid);
+       if (ret != WIFI_ERROR_NONE) {
+               return false;
+       }
+
+       Mac mac;
+       try {
+               mac = Mac(bssid);
+       } catch (std::runtime_error &e) {
+               _E("Cannot create mac_event. Exception: %s", e.what());
+               return false;
+       }
+
+       mac_event_s log(wifi_logger_p->last_scan_time, mac);
+       if (wifi_logger_p->listener) {
+               wifi_logger_p->listener->on_wifi_scan(log);
+               if (WIFI_LOGGER_LOW_POWER_MODE
+                               && (wifi_logger_p->connected_to_wifi_ap || wifi_logger_p->during_visit) ) {
+                       // Add to last scans AP's set
+                       wifi_logger_p->last_scans_pool.insert(std::string(bssid));
+               }
+       }
+       if (WIFI_LOGGER_DATABASE) {
+               wifi_logger_p->logs.push_back(log);
+       }
+
+       return true;
+}
+
+const char* ctx::WifiLogger::wifi_error_str(int error)
+{
+       switch (error) {
+       case WIFI_ERROR_INVALID_PARAMETER:
+               return "WIFI_ERROR_INVALID_PARAMETER";
+       case WIFI_ERROR_OUT_OF_MEMORY:
+               return "WIFI_ERROR_OUT_OF_MEMORY";
+       case WIFI_ERROR_INVALID_OPERATION:
+               return "WIFI_ERROR_INVALID_OPERATION";
+       case WIFI_ERROR_ADDRESS_FAMILY_NOT_SUPPORTED:
+               return "WIFI_ERROR_ADDRESS_FAMILY_NOT_SUPPORTED";
+       case WIFI_ERROR_OPERATION_FAILED:
+               return "WIFI_ERROR_OPERATION_FAILED";
+       case WIFI_ERROR_NO_CONNECTION:
+               return "WIFI_ERROR_NO_CONNECTION";
+       case WIFI_ERROR_NOW_IN_PROGRESS:
+               return "WIFI_ERROR_NOW_IN_PROGRESS";
+       case WIFI_ERROR_ALREADY_EXISTS:
+               return "WIFI_ERROR_ALREADY_EXISTS";
+       case WIFI_ERROR_OPERATION_ABORTED:
+               return "WIFI_ERROR_OPERATION_ABORTED";
+       case WIFI_ERROR_DHCP_FAILED:
+               return "WIFI_ERROR_DHCP_FAILED";
+       case WIFI_ERROR_INVALID_KEY:
+               return "WIFI_ERROR_INVALID_KEY";
+       case WIFI_ERROR_NO_REPLY:
+               return "WIFI_ERROR_NO_REPLY";
+       case WIFI_ERROR_SECURITY_RESTRICTED:
+               return "WIFI_ERROR_SECURITY_RESTRICTED";
+       case WIFI_ERROR_PERMISSION_DENIED:
+               return "WIFI_ERROR_PERMISSION_DENIED";
+       default:
+               return "unknown wifi error code";
+       }
+}
+
+void ctx::WifiLogger::wifi_scan_finished_cb(wifi_error_e error_code, void *user_data)
+{
+       ctx::WifiLogger* wifi_logger_p = (ctx::WifiLogger *)user_data;
+
+       time_t now = time(nullptr);
+#ifdef TIZEN_ENGINEER_MODE
+       double seconds = 0;
+       if (wifi_logger_p->last_scan_time > 0) {
+               seconds = difftime(now, wifi_logger_p->last_scan_time);
+       }
+       std::string time_str = DebugUtils::human_readable_date_time(now, "%T", 9);
+       _D("connected_to_wifi_ap = %d, during_visit = %d, last_scans_pool.size() = %d -> scan %s (from last : %.1fs)",
+                       static_cast<int>(wifi_logger_p->connected_to_wifi_ap),
+                       static_cast<int>(wifi_logger_p->during_visit),
+                       wifi_logger_p->last_scans_pool.size(),
+                       time_str.c_str(),
+                       seconds);
+#endif /* TIZEN_ENGINEER_MODE */
+       wifi_logger_p->last_scan_time = now;
+
+       int ret = wifi_foreach_found_aps_request(user_data);
+       if (ret != WIFI_ERROR_NONE) {
+               return;
+       }
+       if (WIFI_LOGGER_DATABASE) {
+               wifi_logger_p->db_insert_logs();
+       }
+}
+
+bool ctx::WifiLogger::check_wifi_is_activated()
+{
+       bool wifi_activated = true;
+       int ret = wifi_is_activated(&wifi_activated);
+       _WIFI_ERROR_LOG(ret);
+       _D("Wi-Fi is %s", wifi_activated ? "ON" : "OFF");
+       return wifi_activated;
+}
+
+void ctx::WifiLogger::wifi_scan_request()
+{
+       int ret = wifi_scan(wifi_scan_finished_cb, this);
+       _WIFI_ERROR_LOG(ret);
+}
+
+int ctx::WifiLogger::wifi_foreach_found_aps_request(void *user_data)
+{
+       int ret = wifi_foreach_found_aps(wifi_found_ap_cb, user_data);
+       _WIFI_ERROR_LOG(ret);
+       return ret;
+}
+
+wifi_connection_state_e ctx::WifiLogger::wifi_get_connection_state_request()
+{
+       wifi_connection_state_e connection_state;
+       int ret = wifi_get_connection_state(&connection_state);
+       _WIFI_ERROR_LOG(ret);
+       return connection_state;
+}
+
+void ctx::WifiLogger::wifi_set_background_scan_cb_request()
+{
+       int ret = wifi_set_background_scan_cb(wifi_scan_finished_cb, this);
+       _WIFI_ERROR_LOG(ret);
+}
+
+void ctx::WifiLogger::wifi_set_device_state_changed_cb_request()
+{
+       int ret = wifi_set_device_state_changed_cb(wifi_device_state_changed_cb, this);
+       _WIFI_ERROR_LOG(ret);
+}
+
+void ctx::WifiLogger::wifi_set_connection_state_changed_cb_request()
+{
+       int ret = wifi_set_connection_state_changed_cb(wifi_connection_state_changed_cb, this);
+       _WIFI_ERROR_LOG(ret);
+}
+
+int ctx::WifiLogger::wifi_ap_get_bssid_request(wifi_ap_h ap, char **bssid)
+{
+       int ret = wifi_ap_get_bssid(ap, bssid);
+       _WIFI_ERROR_LOG(ret);
+       return ret;
+}
+
+void ctx::WifiLogger::wifi_initialize_request()
+{
+       int ret = wifi_initialize();
+       _WIFI_ERROR_LOG(ret);
+}
+
+void ctx::WifiLogger::wifi_deinitialize_request()
+{
+       int ret = wifi_deinitialize();
+       _WIFI_ERROR_LOG(ret);
+}
+
+bool ctx::WifiLogger::check_timer_id(int id)
+{
+       _D("id == %d, timer_id == %d", id, timer_id);
+       return id == timer_id;
+}
+
+/*
+ * Accepted time from last callback is >= than minimum interval
+ */
+bool ctx::WifiLogger::check_timer_time(time_t now)
+{
+       double seconds = 0;
+       if (last_timer_callback_time > 0) {
+               seconds = difftime(now, last_timer_callback_time);
+               if (seconds < WIFI_LOGGER_ACTIVE_SCANNING_MIN_INTERVAL) {
+                       _D("last == %d, now == %d, diff = %.1fs -> Incorrect timer callback", last_timer_callback_time, now, seconds);
+                       return false;
+               } else {
+                       _D("last == %d, now == %d, diff = %.1fs -> Correct timer callback", last_timer_callback_time, now, seconds);
+               }
+       } else {
+               _D("last == %d, now == %d -> First callback", last_timer_callback_time, now);
+       }
+       last_timer_callback_time = now;
+       return true;
+}
+
+bool ctx::WifiLogger::on_timer_expired(int id, void* user_data)
+{
+       time_t now = time(nullptr);
+       _D("");
+       if (check_timer_id(id) == false) {
+               // Incorrect callback call
+               return false;
+       }
+       if (check_timer_time(now) == false) {
+               // Prevention from double callback call bug
+               return timer_on;
+       }
+       _D("connected_to_wifi_ap = %d, during_visit = %d, last_scans_pool.size() = %d",
+                       static_cast<int>(connected_to_wifi_ap),
+                       static_cast<int>(during_visit),
+                       last_scans_pool.size());
+       if (WIFI_LOGGER_LOW_POWER_MODE
+                       && during_visit
+                       && connected_to_wifi_ap
+                       && last_scans_pool.size() > 0) {
+               _D("trying to send fake scan");
+               if (listener) {
+                       _D("listener != false -> CORRECT");
+                       for (std::string bssid : last_scans_pool) {
+                               Mac mac(bssid);
+                               mac_event_s scan(now, mac);
+                               _D("send fake scan (%s)", bssid.c_str());
+                               listener->on_wifi_scan(scan);
+                       }
+               }
+       } else {
+               wifi_scan_request();
+       }
+       return timer_on;
+}
+
+void ctx::WifiLogger::start_logging()
+{
+       _D("");
+       started = true;
+       _start_logging();
+}
+
+void ctx::WifiLogger::_start_logging()
+{
+       _D("");
+       if (!check_wifi_is_activated() || running) {
+               return;
+       }
+       running = true;
+
+       if (WIFI_LOGGER_ACTIVE_SCANNING) {
+               timer_start(interval_minutes);
+               wifi_scan_request();
+       }
+       if (WIFI_LOGGER_PASSIVE_SCANNING) {
+               wifi_set_background_scan_cb_request();
+       }
+}
+
+void ctx::WifiLogger::stop_logging()
+{
+       _D("");
+       started = false;
+       _stop_logging();
+}
+
+void ctx::WifiLogger::_stop_logging()
+{
+       _D("");
+       if (!running) {
+               return;
+       }
+       if (WIFI_LOGGER_ACTIVE_SCANNING) {
+               // Unset timer
+               timer_on = false;
+               // Remove timer
+               timer_manager::remove(timer_id);
+       }
+       if (WIFI_LOGGER_PASSIVE_SCANNING) {
+               wifi_unset_background_scan_cb();
+       }
+       running = false;
+}
+
+void ctx::WifiLogger::timer_start(time_t minutes)
+{
+       timer_on = true;
+       timer_id = timer_manager::set_for(minutes, this, NULL);
+       _D("%s (minutes=%d)", timer_id >= 0 ? "SUCCESS" : "ERROR", minutes);
+}
+
+void ctx::WifiLogger::on_visit_start()
+{
+       _D("");
+       during_visit = true;
+}
+
+void ctx::WifiLogger::on_visit_end()
+{
+       _D("last_scans_pool.clear()");
+       during_visit = false;
+       last_scans_pool.clear();
+}
+
+void ctx::WifiLogger::set_interval(place_recog_mode_e energy_mode)
+{
+       switch (energy_mode) {
+       case PLACE_RECOG_LOW_POWER_MODE:
+               interval_minutes = WIFI_LOGGER_INTERVAL_MINUTES_LOW_POWER;
+               break;
+       case PLACE_RECOG_HIGH_ACCURACY_MODE:
+               interval_minutes = WIFI_LOGGER_INTERVAL_MINUTES_HIGH_ACCURACY;
+               break;
+       default:
+               _E("Incorrect energy mode");
+       }
+}
+
+void ctx::WifiLogger::timer_restart()
+{
+       timer_manager::remove(timer_id);
+       timer_start(interval_minutes);
+}
+
+void ctx::WifiLogger::set_mode(place_recog_mode_e energy_mode)
+{
+       _D("");
+       set_interval(energy_mode);
+       if (WIFI_LOGGER_ACTIVE_SCANNING && timer_on) {
+               timer_restart();
+       }
+}
diff --git a/src/place/recognition/user_places/wifi_logger.h b/src/place/recognition/user_places/wifi_logger.h
new file mode 100644 (file)
index 0000000..4db601c
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __CONTEXT_PLACE_STATUS_WIFI_LOGGER_H__
+#define __CONTEXT_PLACE_STATUS_WIFI_LOGGER_H__
+
+#include <timer_listener_iface.h>
+#include <wifi.h>
+#include <time.h>
+#include "timer_mgr.h"
+#include <vector>
+#include <set>
+#include "wifi_listener_iface.h"
+#include "visit_listener_iface.h"
+#include "user_places_params.h"
+
+/* Database usage flag */
+#define WIFI_LOGGER_DATABASE false
+
+/* Active scanning usage flag */
+#define WIFI_LOGGER_ACTIVE_SCANNING true
+
+/* Passive scanning usage flag */
+#define WIFI_LOGGER_PASSIVE_SCANNING true
+
+/* Active scanning minimum interval in seconds */
+#define WIFI_LOGGER_ACTIVE_SCANNING_MIN_INTERVAL 10
+
+/*
+ * Low power scanning usage flag
+ * (When phone is connected to some WiFi Access Point
+ * last scan data is returned instead of new scan triggering)
+ */
+#define WIFI_LOGGER_LOW_POWER_MODE false
+
+namespace ctx {
+
+       class WifiLogger : public timer_listener_iface, public IVisitListener {
+
+       public:
+               WifiLogger(IWifiListener * listener_ = nullptr,
+                               place_recog_mode_e mode = PLACE_RECOG_HIGH_ACCURACY_MODE,
+                               bool test_mode_ = false);
+               ~WifiLogger();
+
+               void start_logging();
+               void stop_logging();
+               void set_mode(place_recog_mode_e energy_mode);
+
+               /* INPUT */
+               void on_visit_start();
+               void on_visit_end();
+
+       private:
+               bool test_mode;
+               IWifiListener * const listener;
+               std::vector<mac_event_s> logs;
+               std::set<std::string> last_scans_pool;
+               time_t last_scan_time;
+               time_t last_timer_callback_time;
+               bool timer_on;
+               int timer_id;
+               int interval_minutes;
+               bool during_visit;
+               bool connected_to_wifi_ap;
+               bool started;
+               bool running;
+
+               void _start_logging();
+               void _stop_logging();
+               void set_interval(place_recog_mode_e energy_mode);
+
+               bool check_timer_id(int id);
+               bool check_timer_time(time_t now);
+               bool on_timer_expired(int timer_id, void* user_data);
+               static int create_table();
+               int db_insert_logs();
+               static void wifi_device_state_changed_cb(wifi_device_state_e state, void *user_data);
+               static void wifi_connection_state_changed_cb(wifi_connection_state_e state, wifi_ap_h ap, void *user_data);
+               static bool wifi_found_ap_cb(wifi_ap_h ap, void *user_data);
+               static void wifi_scan_finished_cb(wifi_error_e error_code, void *user_data);
+               static bool check_wifi_is_activated();
+               void wifi_scan_request();
+               static int wifi_foreach_found_aps_request(void *user_data);
+               static wifi_connection_state_e wifi_get_connection_state_request();
+               void wifi_set_background_scan_cb_request();
+               void wifi_set_device_state_changed_cb_request();
+               void wifi_set_connection_state_changed_cb_request();
+               static int wifi_ap_get_bssid_request(wifi_ap_h ap, char **bssid);
+               void wifi_initialize_request();
+               void wifi_deinitialize_request();
+               static const char* wifi_error_str(int error);
+
+               void timer_start(time_t minutes);
+               void timer_restart();
+
+       };      /* class WifiLogger */
+
+}      /* namespace ctx */
+
+#endif /* __CONTEXT_PLACE_STATUS_WIFI_LOGGER_H__ */