opal 0.8.1 → 0.9.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (331) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -2
  3. data/.gitmodules +3 -3
  4. data/.jshintrc +17 -20
  5. data/.travis.yml +22 -11
  6. data/CHANGELOG.md +51 -1
  7. data/CODE_OF_CONDUCT.md +15 -0
  8. data/CONTRIBUTING.md +125 -9
  9. data/Gemfile +1 -1
  10. data/Guardfile +2 -2
  11. data/README.md +95 -29
  12. data/Rakefile +1 -1
  13. data/benchmark/benchmarks +103 -0
  14. data/benchmark/bm_array_flatten.rb +9 -0
  15. data/benchmark/bm_array_intersection_numbers.rb +7 -0
  16. data/benchmark/bm_array_intersection_objects.rb +7 -0
  17. data/benchmark/bm_array_intersection_strings.rb +7 -0
  18. data/benchmark/bm_array_join_ary.rb +9 -0
  19. data/benchmark/bm_array_minus_numbers.rb +7 -0
  20. data/benchmark/bm_array_minus_objects.rb +7 -0
  21. data/benchmark/bm_array_minus_strings.rb +7 -0
  22. data/benchmark/bm_array_union_numbers.rb +7 -0
  23. data/benchmark/bm_array_union_objects.rb +7 -0
  24. data/benchmark/bm_array_union_strings.rb +7 -0
  25. data/benchmark/bm_array_uniq_bang_numbers.rb +5 -0
  26. data/benchmark/bm_array_uniq_bang_objects.rb +5 -0
  27. data/benchmark/bm_array_uniq_bang_strings.rb +5 -0
  28. data/benchmark/bm_array_uniq_numbers.rb +5 -0
  29. data/benchmark/bm_array_uniq_objects.rb +5 -0
  30. data/benchmark/bm_array_uniq_strings.rb +5 -0
  31. data/benchmark/bm_dispatch_bind_table.rb +57 -0
  32. data/benchmark/bm_dispatch_code_gen.rb +65 -0
  33. data/benchmark/bm_dispatch_code_gen_if.rb +64 -0
  34. data/benchmark/bm_dispatch_hardcoded.rb +44 -0
  35. data/benchmark/bm_dispatch_send.rb +38 -0
  36. data/benchmark/bm_dispatch_send_table.rb +57 -0
  37. data/benchmark/bm_hash_assoc_object.rb +11 -0
  38. data/benchmark/bm_hash_assoc_string.rb +9 -0
  39. data/benchmark/bm_hash_clone_object.rb +9 -0
  40. data/benchmark/bm_hash_clone_string.rb +9 -0
  41. data/benchmark/bm_hash_delete_object.rb +11 -0
  42. data/benchmark/bm_hash_delete_string.rb +9 -0
  43. data/benchmark/bm_hash_each_key_object.rb +9 -0
  44. data/benchmark/bm_hash_each_key_string.rb +9 -0
  45. data/benchmark/bm_hash_each_object.rb +9 -0
  46. data/benchmark/bm_hash_each_string.rb +9 -0
  47. data/benchmark/bm_hash_each_value_object.rb +9 -0
  48. data/benchmark/bm_hash_each_value_string.rb +9 -0
  49. data/benchmark/bm_hash_element_reference_object.rb +11 -0
  50. data/benchmark/bm_hash_element_reference_string.rb +9 -0
  51. data/benchmark/bm_hash_element_set_object.rb +5 -0
  52. data/benchmark/bm_hash_element_set_string.rb +5 -0
  53. data/benchmark/bm_hash_equal_value_object.rb +14 -0
  54. data/benchmark/bm_hash_equal_value_string.rb +11 -0
  55. data/benchmark/bm_hash_fetch_object.rb +11 -0
  56. data/benchmark/bm_hash_fetch_string.rb +9 -0
  57. data/benchmark/bm_hash_flatten_object.rb +9 -0
  58. data/benchmark/bm_hash_flatten_string.rb +9 -0
  59. data/benchmark/bm_hash_has_key_object.rb +11 -0
  60. data/benchmark/bm_hash_has_key_string.rb +9 -0
  61. data/benchmark/bm_hash_has_value_object.rb +9 -0
  62. data/benchmark/bm_hash_has_value_string.rb +9 -0
  63. data/benchmark/bm_hash_hash_object.rb +9 -0
  64. data/benchmark/bm_hash_hash_string.rb +9 -0
  65. data/benchmark/bm_hash_inspect_object.rb +9 -0
  66. data/benchmark/bm_hash_inspect_string.rb +9 -0
  67. data/benchmark/bm_hash_invert_object.rb +9 -0
  68. data/benchmark/bm_hash_invert_string.rb +9 -0
  69. data/benchmark/bm_hash_keep_if_object.rb +9 -0
  70. data/benchmark/bm_hash_keep_if_string.rb +9 -0
  71. data/benchmark/bm_hash_key_object.rb +9 -0
  72. data/benchmark/bm_hash_key_string.rb +9 -0
  73. data/benchmark/bm_hash_keys_object.rb +9 -0
  74. data/benchmark/bm_hash_keys_string.rb +9 -0
  75. data/benchmark/bm_hash_literal_mixed_large.rb +3 -0
  76. data/benchmark/bm_hash_literal_mixed_small.rb +3 -0
  77. data/benchmark/bm_hash_literal_object_large.rb +4 -0
  78. data/benchmark/bm_hash_literal_object_small.rb +3 -0
  79. data/benchmark/bm_hash_literal_string_large.rb +4 -0
  80. data/benchmark/bm_hash_literal_string_small.rb +3 -0
  81. data/benchmark/bm_hash_merge_object.rb +22 -0
  82. data/benchmark/bm_hash_merge_string.rb +18 -0
  83. data/benchmark/bm_hash_rassoc_object.rb +9 -0
  84. data/benchmark/bm_hash_rassoc_string.rb +9 -0
  85. data/benchmark/bm_hash_rehash_object.rb +9 -0
  86. data/benchmark/bm_hash_rehash_string.rb +9 -0
  87. data/benchmark/bm_hash_reject_bang_object.rb +9 -0
  88. data/benchmark/bm_hash_reject_bang_string.rb +9 -0
  89. data/benchmark/bm_hash_reject_object.rb +9 -0
  90. data/benchmark/bm_hash_reject_string.rb +9 -0
  91. data/benchmark/bm_hash_replace_object.rb +18 -0
  92. data/benchmark/bm_hash_replace_string.rb +14 -0
  93. data/benchmark/bm_hash_select_bang_object.rb +9 -0
  94. data/benchmark/bm_hash_select_bang_string.rb +9 -0
  95. data/benchmark/bm_hash_select_object.rb +9 -0
  96. data/benchmark/bm_hash_select_string.rb +9 -0
  97. data/benchmark/bm_hash_shift_object.rb +10 -0
  98. data/benchmark/bm_hash_shift_string.rb +10 -0
  99. data/benchmark/bm_hash_to_a_object.rb +9 -0
  100. data/benchmark/bm_hash_to_a_string.rb +9 -0
  101. data/benchmark/bm_hash_to_h_object.rb +10 -0
  102. data/benchmark/bm_hash_to_h_string.rb +10 -0
  103. data/benchmark/bm_hash_values_object.rb +9 -0
  104. data/benchmark/bm_hash_values_string.rb +9 -0
  105. data/benchmark/run.rb +48 -0
  106. data/bin/opal-mspec +1 -1
  107. data/bin/opal-repl +4 -4
  108. data/docs/compiled_ruby.md +214 -56
  109. data/docs/configuring_gems.md +2 -2
  110. data/docs/faq.md +2 -2
  111. data/docs/getting_started.md +19 -2
  112. data/docs/jquery.md +5 -5
  113. data/docs/opal_parser.md +53 -0
  114. data/docs/unsupported_features.md +2 -2
  115. data/docs/upgrading.md +22 -0
  116. data/docs/using_sprockets.md +15 -0
  117. data/examples/rack/config.ru +13 -0
  118. data/examples/sinatra/config.ru +4 -5
  119. data/lib/mspec/opal/runner.rb +54 -11
  120. data/lib/opal.rb +1 -1
  121. data/lib/opal/builder.rb +1 -1
  122. data/lib/opal/builder_processors.rb +1 -1
  123. data/lib/opal/cli.rb +17 -13
  124. data/lib/opal/cli_options.rb +1 -1
  125. data/lib/opal/compiler.rb +12 -0
  126. data/lib/opal/config.rb +4 -0
  127. data/lib/opal/nodes/arglist.rb +5 -7
  128. data/lib/opal/nodes/call.rb +6 -1
  129. data/lib/opal/nodes/call_special.rb +74 -0
  130. data/lib/opal/nodes/def.rb +35 -28
  131. data/lib/opal/nodes/definitions.rb +3 -5
  132. data/lib/opal/nodes/for.rb +13 -0
  133. data/lib/opal/nodes/helpers.rb +15 -1
  134. data/lib/opal/nodes/if.rb +5 -5
  135. data/lib/opal/nodes/iter.rb +6 -1
  136. data/lib/opal/nodes/literal.rb +1 -1
  137. data/lib/opal/nodes/logic.rb +2 -2
  138. data/lib/opal/nodes/masgn.rb +1 -2
  139. data/lib/opal/nodes/module.rb +2 -1
  140. data/lib/opal/nodes/rescue.rb +10 -1
  141. data/lib/opal/nodes/scope.rb +8 -2
  142. data/lib/opal/nodes/singleton_class.rb +1 -1
  143. data/lib/opal/nodes/top.rb +11 -0
  144. data/lib/opal/nodes/variables.rb +4 -4
  145. data/lib/opal/parser.rb +21 -3
  146. data/lib/opal/parser/grammar.rb +3115 -2961
  147. data/lib/opal/parser/grammar.y +29 -6
  148. data/lib/opal/parser/lexer.rb +18 -8
  149. data/lib/opal/sprockets.rb +85 -0
  150. data/lib/opal/sprockets/processor.rb +11 -35
  151. data/lib/opal/sprockets/server.rb +3 -15
  152. data/lib/opal/version.rb +2 -2
  153. data/opal.gemspec +4 -4
  154. data/opal/README.md +9 -0
  155. data/opal/corelib/array.rb +433 -181
  156. data/opal/corelib/basic_object.rb +48 -4
  157. data/opal/corelib/boolean.rb +15 -6
  158. data/opal/corelib/class.rb +6 -5
  159. data/opal/corelib/comparable.rb +12 -0
  160. data/opal/corelib/complex.rb +282 -0
  161. data/opal/corelib/constants.rb +9 -0
  162. data/opal/corelib/enumerable.rb +83 -34
  163. data/opal/corelib/enumerator.rb +3 -1
  164. data/opal/corelib/error.rb +49 -10
  165. data/opal/corelib/file.rb +1 -0
  166. data/opal/corelib/hash.rb +353 -577
  167. data/opal/corelib/helpers.rb +20 -0
  168. data/opal/corelib/kernel.rb +114 -59
  169. data/opal/corelib/math.rb +470 -0
  170. data/opal/corelib/method.rb +11 -2
  171. data/opal/corelib/module.rb +96 -96
  172. data/opal/corelib/{nil_class.rb → nil.rb} +20 -1
  173. data/opal/corelib/number.rb +751 -0
  174. data/opal/corelib/numeric.rb +77 -437
  175. data/opal/corelib/proc.rb +81 -1
  176. data/opal/corelib/process.rb +27 -0
  177. data/opal/corelib/rational.rb +358 -0
  178. data/opal/corelib/regexp.rb +156 -27
  179. data/opal/corelib/runtime.js +724 -335
  180. data/opal/corelib/string.rb +93 -104
  181. data/opal/corelib/string/encoding.rb +177 -0
  182. data/opal/corelib/string/inheritance.rb +2 -0
  183. data/opal/corelib/struct.rb +105 -18
  184. data/opal/corelib/time.rb +267 -146
  185. data/opal/corelib/unsupported.rb +216 -0
  186. data/opal/corelib/variables.rb +0 -6
  187. data/opal/opal.rb +8 -22
  188. data/opal/opal/base.rb +9 -0
  189. data/opal/opal/mini.rb +17 -0
  190. data/spec/README.md +1 -1
  191. data/spec/filters/bugs/array.rb +38 -136
  192. data/spec/filters/bugs/{basic_object.rb → basicobject.rb} +14 -15
  193. data/spec/filters/bugs/class.rb +6 -12
  194. data/spec/filters/bugs/complex.rb +3 -0
  195. data/spec/filters/bugs/date.rb +162 -10
  196. data/spec/filters/bugs/enumerable.rb +31 -58
  197. data/spec/filters/bugs/enumerator.rb +42 -0
  198. data/spec/filters/bugs/exception.rb +66 -10
  199. data/spec/filters/bugs/float.rb +17 -0
  200. data/spec/filters/bugs/hash.rb +11 -97
  201. data/spec/filters/bugs/inheritance.rb +5 -0
  202. data/spec/filters/bugs/integer.rb +28 -0
  203. data/spec/filters/bugs/kernel.rb +304 -12
  204. data/spec/filters/bugs/language.rb +133 -399
  205. data/spec/filters/bugs/language_opal.rb +88 -0
  206. data/spec/filters/bugs/module.rb +203 -62
  207. data/spec/filters/bugs/numeric.rb +32 -0
  208. data/spec/filters/bugs/proc.rb +39 -0
  209. data/spec/filters/bugs/range.rb +148 -0
  210. data/spec/filters/bugs/regexp.rb +168 -0
  211. data/spec/filters/bugs/set.rb +46 -3
  212. data/spec/filters/bugs/singleton.rb +1 -2
  213. data/spec/filters/bugs/string.rb +59 -90
  214. data/spec/filters/bugs/strscan.rb +80 -0
  215. data/spec/filters/bugs/struct.rb +10 -20
  216. data/spec/filters/bugs/time.rb +17 -184
  217. data/spec/filters/bugs/unboundmethod.rb +22 -0
  218. data/spec/filters/unsupported/array.rb +163 -0
  219. data/spec/filters/unsupported/basicobject.rb +14 -0
  220. data/spec/filters/unsupported/bignum.rb +46 -0
  221. data/spec/filters/unsupported/class.rb +4 -0
  222. data/spec/filters/unsupported/delegator.rb +5 -0
  223. data/spec/filters/unsupported/enumerable.rb +11 -0
  224. data/spec/filters/unsupported/enumerator.rb +8 -9
  225. data/spec/filters/unsupported/fixnum.rb +14 -0
  226. data/spec/filters/unsupported/float.rb +41 -7
  227. data/spec/filters/unsupported/freeze.rb +45 -0
  228. data/spec/filters/unsupported/hash.rb +50 -0
  229. data/spec/filters/unsupported/integer.rb +3 -0
  230. data/spec/filters/unsupported/kernel.rb +31 -0
  231. data/spec/filters/unsupported/language.rb +17 -0
  232. data/spec/filters/unsupported/matchdata.rb +30 -0
  233. data/spec/filters/unsupported/math.rb +3 -0
  234. data/spec/filters/unsupported/module.rb +5 -3
  235. data/spec/filters/unsupported/pathname.rb +3 -0
  236. data/spec/filters/unsupported/privacy.rb +136 -0
  237. data/spec/filters/unsupported/proc.rb +3 -0
  238. data/spec/filters/unsupported/regexp.rb +59 -0
  239. data/spec/filters/unsupported/set.rb +4 -0
  240. data/spec/filters/unsupported/{marshal.rb → singleton.rb} +4 -2
  241. data/spec/filters/unsupported/{mutable_strings.rb → string.rb} +456 -336
  242. data/spec/filters/unsupported/struct.rb +3 -0
  243. data/spec/filters/unsupported/symbol.rb +5 -0
  244. data/spec/filters/unsupported/taint.rb +16 -0
  245. data/spec/filters/unsupported/thread.rb +5 -0
  246. data/spec/filters/unsupported/time.rb +197 -16
  247. data/spec/lib/cli_spec.rb +14 -4
  248. data/spec/lib/compiler_spec.rb +9 -1
  249. data/spec/lib/parser/call_spec.rb +18 -0
  250. data/spec/lib/parser/not_spec.rb +2 -8
  251. data/spec/lib/sprockets_spec.rb +24 -0
  252. data/spec/opal/core/array/intersection_spec.rb +38 -0
  253. data/spec/opal/core/array/minus_spec.rb +38 -0
  254. data/spec/opal/core/array/union_spec.rb +38 -0
  255. data/spec/opal/core/array/uniq_spec.rb +49 -0
  256. data/spec/opal/core/exception_spec.rb +7 -0
  257. data/spec/opal/core/fixtures/require_tree_with_dot/file 1.rb +1 -0
  258. data/spec/opal/core/fixtures/require_tree_with_dot/file 2.rb +1 -0
  259. data/spec/opal/core/fixtures/require_tree_with_dot/file 3.rb +1 -0
  260. data/spec/opal/core/fixtures/require_tree_with_dot/index.rb +3 -0
  261. data/spec/opal/core/hash/internals_spec.rb +332 -0
  262. data/spec/opal/core/helpers_spec.rb +14 -0
  263. data/spec/opal/core/kernel/freeze_spec.rb +1 -1
  264. data/spec/opal/core/kernel/raise_spec.rb +13 -0
  265. data/spec/opal/core/kernel/require_tree_spec.rb +9 -0
  266. data/spec/opal/core/language/class_spec.rb +55 -0
  267. data/spec/opal/core/language/fixtures/send.rb +1 -0
  268. data/spec/opal/core/language/keyword_arguments_spec.rb +11 -0
  269. data/spec/opal/core/language/send_spec.rb +5 -0
  270. data/spec/opal/core/method/to_proc_spec.rb +28 -0
  271. data/spec/opal/core/module/name_spec.rb +0 -17
  272. data/spec/opal/core/runtime/bridged_classes_spec.rb +2 -2
  273. data/spec/opal/core/runtime/eval_spec.rb +1 -1
  274. data/spec/opal/core/runtime/method_missing_spec.rb +6 -0
  275. data/spec/opal/core/runtime_spec.rb +51 -0
  276. data/spec/opal/stdlib/js_spec.rb +66 -0
  277. data/spec/opal/stdlib/native/hash_spec.rb +36 -0
  278. data/spec/rubyspecs +152 -273
  279. data/spec/spec_helper.rb +10 -11
  280. data/stdlib/base64.rb +9 -9
  281. data/stdlib/benchmark.rb +551 -4
  282. data/stdlib/console.rb +94 -0
  283. data/stdlib/date.rb +1 -1
  284. data/stdlib/encoding.rb +1 -170
  285. data/stdlib/js.rb +56 -0
  286. data/stdlib/json.rb +9 -14
  287. data/stdlib/math.rb +1 -370
  288. data/stdlib/native.rb +133 -63
  289. data/stdlib/nodejs/file.rb +5 -0
  290. data/stdlib/nodejs/fileutils.rb +13 -6
  291. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +1 -1
  292. data/stdlib/opal-parser.rb +1 -2
  293. data/stdlib/ostruct.rb +65 -6
  294. data/stdlib/pp.rb +2 -4
  295. data/stdlib/rbconfig.rb +1 -3
  296. data/stdlib/strscan.rb +164 -28
  297. data/tasks/benchmarking.rake +88 -0
  298. data/tasks/testing.rake +181 -55
  299. data/{lib/mspec/opal/special_calls.rb → tasks/testing/mspec_special_calls.rb} +1 -1
  300. data/{lib/mspec/opal/sprockets.js → tasks/testing/phantomjs1-sprockets.js} +17 -6
  301. data/test/opal/test_keyword.rb +590 -0
  302. data/vendored-minitest/minitest.rb +2 -2
  303. data/vendored-minitest/test/unit.rb +5 -0
  304. metadata +229 -62
  305. data/benchmarks/operators.rb +0 -11
  306. data/benchmarks/prova.js.rb +0 -13
  307. data/docs/libraries.md +0 -36
  308. data/lib/mspec/opal/new.html.erb +0 -1
  309. data/lib/mspec/opal/rake_task.rb +0 -248
  310. data/opal/corelib/match_data.rb +0 -128
  311. data/spec/filters/bugs/math.rb +0 -95
  312. data/spec/filters/bugs/nil.rb +0 -7
  313. data/spec/filters/bugs/opal.rb +0 -9
  314. data/spec/filters/bugs/regular_expressions.rb +0 -41
  315. data/spec/filters/bugs/stringscanner.rb +0 -33
  316. data/spec/filters/unsupported/encoding.rb +0 -102
  317. data/spec/filters/unsupported/frozen.rb +0 -92
  318. data/spec/filters/unsupported/hash_compare_by_identity.rb +0 -16
  319. data/spec/filters/unsupported/integer_size.rb +0 -59
  320. data/spec/filters/unsupported/method_added.rb +0 -10
  321. data/spec/filters/unsupported/private_constants.rb +0 -30
  322. data/spec/filters/unsupported/private_methods.rb +0 -55
  323. data/spec/filters/unsupported/random.rb +0 -4
  324. data/spec/filters/unsupported/rational_numbers.rb +0 -4
  325. data/spec/filters/unsupported/regular_expressions.rb +0 -137
  326. data/spec/filters/unsupported/ruby_exe.rb +0 -5
  327. data/spec/filters/unsupported/symbols.rb +0 -17
  328. data/spec/filters/unsupported/tainted.rb +0 -180
  329. data/spec/filters/unsupported/trusted.rb +0 -88
  330. data/stdlib/process.rb +0 -10
  331. data/tasks/documenting.rake +0 -37
data/README.md CHANGED
@@ -4,26 +4,64 @@
4
4
  [![Gem Version](http://img.shields.io/gem/v/opal.svg?style=flat)](http://badge.fury.io/rb/opal)
5
5
  [![Code Climate](http://img.shields.io/codeclimate/github/opal/opal.svg?style=flat)](https://codeclimate.com/github/opal/opal)
6
6
 
7
- Opal is a ruby to javascript source-to-source compiler. It also has an
8
- implementation of the ruby corelib.
7
+ Opal is a Ruby to JavaScript source-to-source compiler. It also has an
8
+ implementation of the Ruby corelib.
9
9
 
10
- Opal is [hosted on github](http://github.com/opal/opal). Chat is available on *Gitter* at [opal/opal](https://gitter.im/opal/opal) and the Freenode IRC channel at [#opal](http://webchat.freenode.net/?channels=opal).
10
+ Opal is [hosted on GitHub](http://github.com/opal/opal). Chat is available on *Gitter* at [opal/opal](https://gitter.im/opal/opal) (also available as IRC at `irc.gitter.im`) and the Freenode IRC channel at [#opal](http://webchat.freenode.net/?channels=opal).
11
11
  Ask questions on [stackoverflow (tag #opalrb)](http://stackoverflow.com/questions/ask?tags=opalrb). Get the [Opalist newsletter](http://opalist.co) for updates and community news.
12
12
 
13
13
  [![Inline docs](http://inch-ci.org/github/opal/opal.svg?branch=master&style=flat)](http://opalrb.org/docs/api)
14
14
  [![Gitter chat](http://img.shields.io/badge/gitter-opal%2Fopal-009966.svg?style=flat)](https://gitter.im/opal/opal)
15
15
  [![Stack Overflow](http://img.shields.io/badge/stackoverflow-%23opalrb-orange.svg?style=flat)](http://stackoverflow.com/questions/ask?tags=opalrb)
16
16
 
17
+ ## Usage
17
18
 
19
+ See the website for more detailed instructions and guides for Rails, jQuery, Sinatra, rack, CDN, etc. [http://opalrb.org](http://opalrb.org).
18
20
 
19
- ## Usage
21
+ ### Compiling Ruby code with the CLI (Command Line Interface)
22
+
23
+ Contents of `app.rb`:
24
+
25
+ ```ruby
26
+ puts 'Hello world!'
27
+ ```
28
+
29
+ Then from the terminal
30
+
31
+ ```bash
32
+ $ opal --compile app.rb > app.js # The Opal runtime is included by default but
33
+ # but can be skipped with the --no-opal flag
34
+ ```
35
+
36
+ The resulting JavaScript file can be used normally from an HTML page:
37
+
38
+ ```html
39
+ <script src="app.js"></script>
40
+ ```
41
+
42
+ Be sure to set the page encoding to `UTF-8` inside your `<head>` tag as follows:
43
+
44
+ ```html
45
+ <!DOCTYPE html>
46
+ <html>
47
+ <head>
48
+ <meta charset="utf-8">
49
+ <script src="app.js"></script>
50
+
51
+ </head>
52
+ <body>
53
+
54
+ </body>
55
+ </html>
56
+ ```
20
57
 
21
- See the website, [http://opalrb.org](http://opalrb.org).
58
+ Just open this page in a browser and check the JavaScript console.
22
59
 
23
- ### Compiling ruby code
24
60
 
25
- `Opal.compile` is a simple interface to just compile a string of ruby into a
26
- string of javascript code.
61
+ ### Compiling Ruby code from Ruby
62
+
63
+ `Opal.compile` is a simple interface to just compile a string of Ruby into a
64
+ string of JavaScript code.
27
65
 
28
66
  ```ruby
29
67
  Opal.compile("puts 'wow'") # => "(function() { ... self.$puts("wow"); ... })()"
@@ -31,7 +69,7 @@ Opal.compile("puts 'wow'") # => "(function() { ... self.$puts("wow"); ... })()"
31
69
 
32
70
  Running this by itself is not enough, you need the opal runtime/corelib.
33
71
 
34
- ### Building the corelib
72
+ #### Using Opal::Builder
35
73
 
36
74
  `Opal::Builder` can be used to build the runtime/corelib into a string.
37
75
 
@@ -39,42 +77,70 @@ Running this by itself is not enough, you need the opal runtime/corelib.
39
77
  Opal::Builder.build('opal') #=> "(function() { ... })()"
40
78
  ```
41
79
 
42
- ### Running compiled code
80
+ or to build an entire app including dependencies declared with `require`:
81
+
82
+ ```ruby
83
+ builder = Opal::Builder.new
84
+ builder.build_str('require "opal"; puts "wow"', '(inline)')
85
+ File.write 'app.js', builder.to_s
86
+ ```
87
+
88
+
89
+ ### Compiling Ruby code from HTML (or using it as you would with inline JavaScript)
90
+
91
+ `opal-parser` allows you to *eval* Ruby code directly from your HTML (and from Opal) files without needing any other building process.
92
+
93
+ So you can create a file like the one below, and start writing ruby for
94
+ your web applications.
43
95
 
44
- You can write the above two strings to file, and run as:
45
96
 
46
97
  ```html
47
98
  <!DOCTYPE html>
48
99
  <html>
49
100
  <head>
50
- <script src="opal.js"></script>
51
- <script src="app.js"></script>
101
+ <meta charset="utf-8">
102
+ <script src="http://cdn.opalrb.org/opal/current/opal.js"></script>
103
+ <script src="http://cdn.opalrb.org/opal/current/opal-parser.js"></script>
104
+ <script type="text/javascript">Opal.load('opal-parser')</script>
105
+
106
+ <script type="text/ruby">
107
+ puts "hi"
108
+ </script>
109
+
52
110
  </head>
111
+ <body>
112
+ </body>
53
113
  </html>
54
114
  ```
55
115
 
56
- Just open a browser to this page and view the console.
116
+ Just open this page and check the JavaScript console.
117
+
118
+ **NOTE**: Although this is possible, this is not really recommended for
119
+ production and should only be used as a quick way to getting you hands
120
+ on opal
121
+
57
122
 
58
123
  ## Running tests
59
124
 
60
125
  First, install dependencies:
61
126
 
62
127
  $ bundle install
128
+ $ npm install -g jshint
63
129
 
64
- RubySpec related repos must be cloned as a gitsubmodules:
130
+ RubySpec related repos must be cloned as git submodules:
65
131
 
66
132
  $ git submodule update --init
67
133
 
68
134
  The test suite can be run using (requires [phantomjs][]):
69
135
 
70
- $ rake
136
+ $ bundle exec rake
71
137
 
72
138
  This will command will run all RSpec and MSpec examples in sequence.
73
139
 
74
140
  #### Automated runs
75
141
 
76
142
  A `Guardfile` with decent mappings between specs and lib/corelib/stdlib files is in place.
77
- Run `bundle exec guard -i` to have it started.
143
+ Run `bundle exec guard -i` to start `guard`.
78
144
 
79
145
 
80
146
  ### MSpec
@@ -89,7 +155,7 @@ visit `http://localhost:9292/` in any web browser.
89
155
 
90
156
  ### Rspec
91
157
 
92
- [RSpec][] tests can be run with
158
+ [RSpec][] tests can be run with:
93
159
 
94
160
  $ rake rspec
95
161
 
@@ -98,24 +164,24 @@ visit `http://localhost:9292/` in any web browser.
98
164
 
99
165
  What code is supposed to run where?
100
166
 
101
- * `lib/` code runs inside your ruby env. It compiles ruby to javascript.
102
- * `opal/` is the runtime/corelib for our implementation (runs in browser)
103
- * `stdlib/` is our implementation of ruby stdlib. It is optional (for browser).
167
+ * `lib/` code runs inside your Ruby env. It compiles Ruby to JavaScript.
168
+ * `opal/` is the runtime+corelib for our implementation (runs in browser).
169
+ * `stdlib/` is our implementation of Ruby's stdlib. It is optional (runs in browser).
104
170
 
105
171
  ### lib
106
172
 
107
- The `lib` directory holds the opal parser/compiler used to compile ruby
108
- into javascript. It is also built ready for the browser into `opal-parser.js`
109
- to allow compilation in any javascript environment.
173
+ The `lib` directory holds the Opal parser/compiler used to compile Ruby
174
+ into JavaScript. It is also built ready for the browser into `opal-parser.js`
175
+ to allow compilation in any JavaScript environment.
110
176
 
111
177
  ### corelib
112
178
 
113
- This directory holds the opal runtime and corelib implemented in ruby and
114
- javascript.
179
+ This directory holds the Opal runtime and corelib implemented in Ruby and
180
+ JavaScript.
115
181
 
116
182
  ### stdlib
117
183
 
118
- Holds the stdlib that opal currently supports. This includes `Observable`,
184
+ Holds the stdlib that Opal currently supports. This includes `Observable`,
119
185
  `StringScanner`, `Date`, etc.
120
186
 
121
187
  ## Browser support
@@ -126,7 +192,7 @@ Holds the stdlib that opal currently supports. This includes `Observable`,
126
192
  * Safari 5.1+
127
193
  * Opera 12.1x or (Current - 1) or Current
128
194
 
129
- Any problems encountered using the browsers listed above should be reported as a bug.
195
+ Any problems encountered using the browsers listed above should be reported as bugs.
130
196
 
131
197
  (Current - 1) or Current denotes that we support the current stable version of
132
198
  the browser and the version that preceded it. For example, if the current
@@ -142,7 +208,7 @@ Cross-browser testing is sponsored by [BrowserStack](http://browserstack.com).
142
208
 
143
209
  (The MIT License)
144
210
 
145
- Copyright (C) 2013 by Adam Beynon
211
+ Copyright (C) 2013-2015 by Adam Beynon
146
212
 
147
213
  Permission is hereby granted, free of charge, to any person obtaining a copy
148
214
  of this software and associated documentation files (the "Software"), to deal
data/Rakefile CHANGED
@@ -6,9 +6,9 @@ Bundler.require
6
6
  Bundler::GemHelper.install_tasks
7
7
 
8
8
  import 'tasks/github.rake'
9
- import 'tasks/documenting.rake'
10
9
  import 'tasks/testing.rake'
11
10
  import 'tasks/building.rake'
12
11
  import 'tasks/linting.rake'
12
+ import 'tasks/benchmarking.rake'
13
13
 
14
14
  task :default => [:rspec, :mspec_node, :cruby_tests]
@@ -0,0 +1,103 @@
1
+ test/cruby/benchmark/bm_app_answer.rb
2
+ #[error] test/cruby/benchmark/bm_app_aobench.rb
3
+ #[error] test/cruby/benchmark/bm_app_erb.rb
4
+ test/cruby/benchmark/bm_app_factorial.rb
5
+ test/cruby/benchmark/bm_app_fib.rb
6
+ #[too long] test/cruby/benchmark/bm_app_lc_fizzbuzz.rb
7
+ #[error] test/cruby/benchmark/bm_app_mandelbrot.rb
8
+ #[too long] test/cruby/benchmark/bm_app_pentomino.rb
9
+ test/cruby/benchmark/bm_app_raise.rb
10
+ test/cruby/benchmark/bm_app_strconcat.rb
11
+ test/cruby/benchmark/bm_app_tak.rb
12
+ test/cruby/benchmark/bm_app_tarai.rb
13
+ #[error] test/cruby/benchmark/bm_app_uri.rb
14
+ #[error] test/cruby/benchmark/bm_hash_aref_flo.rb
15
+ test/cruby/benchmark/bm_hash_aref_miss.rb
16
+ test/cruby/benchmark/bm_hash_aref_str.rb
17
+ #[error] test/cruby/benchmark/bm_hash_aref_sym_long.rb
18
+ #[error] test/cruby/benchmark/bm_hash_aref_sym.rb
19
+ test/cruby/benchmark/bm_hash_flatten.rb
20
+ #[error] test/cruby/benchmark/bm_hash_ident_flo.rb
21
+ #[error] test/cruby/benchmark/bm_hash_ident_num.rb
22
+ #[error] test/cruby/benchmark/bm_hash_ident_obj.rb
23
+ #[error] test/cruby/benchmark/bm_hash_ident_str.rb
24
+ #[error] test/cruby/benchmark/bm_hash_ident_sym.rb
25
+ test/cruby/benchmark/bm_hash_keys.rb
26
+ test/cruby/benchmark/bm_hash_shift.rb
27
+ test/cruby/benchmark/bm_hash_values.rb
28
+ test/cruby/benchmark/bm_loop_for.rb
29
+ #[error] test/cruby/benchmark/bm_loop_generator.rb
30
+ test/cruby/benchmark/bm_loop_times.rb
31
+ test/cruby/benchmark/bm_loop_whileloop2.rb
32
+ test/cruby/benchmark/bm_loop_whileloop.rb
33
+ #[error] test/cruby/benchmark/bm_securerandom.rb
34
+ test/cruby/benchmark/bm_so_ackermann.rb
35
+ test/cruby/benchmark/bm_so_array.rb
36
+ #[error] test/cruby/benchmark/bm_so_binary_trees.rb
37
+ #[error] test/cruby/benchmark/bm_so_concatenate.rb
38
+ #[error] test/cruby/benchmark/bm_so_count_words.rb
39
+ test/cruby/benchmark/bm_so_exception.rb
40
+ test/cruby/benchmark/bm_so_fannkuch.rb
41
+ #[error] test/cruby/benchmark/bm_so_fasta.rb
42
+ #[error] test/cruby/benchmark/bm_so_k_nucleotide.rb
43
+ test/cruby/benchmark/bm_so_lists.rb
44
+ #[writes to stdout] test/cruby/benchmark/bm_so_mandelbrot.rb
45
+ test/cruby/benchmark/bm_so_matrix.rb
46
+ #[error] test/cruby/benchmark/bm_so_meteor_contest.rb
47
+ #[error] test/cruby/benchmark/bm_so_nbody.rb
48
+ test/cruby/benchmark/bm_so_nested_loop.rb
49
+ #[error] test/cruby/benchmark/bm_so_nsieve_bits.rb
50
+ #[error] test/cruby/benchmark/bm_so_nsieve.rb
51
+ test/cruby/benchmark/bm_so_object.rb
52
+ #[error] test/cruby/benchmark/bm_so_partial_sums.rb
53
+ #[error] test/cruby/benchmark/bm_so_pidigits.rb
54
+ test/cruby/benchmark/bm_so_random.rb
55
+ #[error] test/cruby/benchmark/bm_so_reverse_complement.rb
56
+ test/cruby/benchmark/bm_so_sieve.rb
57
+ #[error] test/cruby/benchmark/bm_so_spectralnorm.rb
58
+ test/cruby/benchmark/bm_vm1_attr_ivar.rb
59
+ test/cruby/benchmark/bm_vm1_attr_ivar_set.rb
60
+ test/cruby/benchmark/bm_vm1_block.rb
61
+ test/cruby/benchmark/bm_vm1_const.rb
62
+ test/cruby/benchmark/bm_vm1_ensure.rb
63
+ test/cruby/benchmark/bm_vm1_float_simple.rb
64
+ test/cruby/benchmark/bm_vm1_gc_short_lived.rb
65
+ test/cruby/benchmark/bm_vm1_ivar.rb
66
+ test/cruby/benchmark/bm_vm1_ivar_set.rb
67
+ test/cruby/benchmark/bm_vm1_length.rb
68
+ test/cruby/benchmark/bm_vm1_lvar_init.rb
69
+ test/cruby/benchmark/bm_vm1_lvar_set.rb
70
+ test/cruby/benchmark/bm_vm1_neq.rb
71
+ test/cruby/benchmark/bm_vm1_not.rb
72
+ test/cruby/benchmark/bm_vm1_rescue.rb
73
+ test/cruby/benchmark/bm_vm1_simplereturn.rb
74
+ test/cruby/benchmark/bm_vm1_swap.rb
75
+ test/cruby/benchmark/bm_vm1_yield.rb
76
+ test/cruby/benchmark/bm_vm2_array.rb
77
+ test/cruby/benchmark/bm_vm2_bigarray.rb
78
+ test/cruby/benchmark/bm_vm2_bighash.rb
79
+ test/cruby/benchmark/bm_vm2_case.rb
80
+ test/cruby/benchmark/bm_vm2_defined_method.rb
81
+ test/cruby/benchmark/bm_vm2_dstr.rb
82
+ #[error] test/cruby/benchmark/bm_vm2_eval.rb
83
+ test/cruby/benchmark/bm_vm2_method_missing.rb
84
+ test/cruby/benchmark/bm_vm2_method.rb
85
+ test/cruby/benchmark/bm_vm2_method_with_block.rb
86
+ test/cruby/benchmark/bm_vm2_newlambda.rb
87
+ test/cruby/benchmark/bm_vm2_poly_method_ov.rb
88
+ test/cruby/benchmark/bm_vm2_poly_method.rb
89
+ test/cruby/benchmark/bm_vm2_proc.rb
90
+ test/cruby/benchmark/bm_vm2_raise1.rb
91
+ test/cruby/benchmark/bm_vm2_raise2.rb
92
+ test/cruby/benchmark/bm_vm2_regexp.rb
93
+ test/cruby/benchmark/bm_vm2_send.rb
94
+ test/cruby/benchmark/bm_vm2_struct_big_aref_hi.rb
95
+ test/cruby/benchmark/bm_vm2_struct_big_aref_lo.rb
96
+ test/cruby/benchmark/bm_vm2_struct_big_aset.rb
97
+ test/cruby/benchmark/bm_vm2_struct_small_aref.rb
98
+ test/cruby/benchmark/bm_vm2_struct_small_aset.rb
99
+ test/cruby/benchmark/bm_vm2_super.rb
100
+ test/cruby/benchmark/bm_vm2_unif1.rb
101
+ test/cruby/benchmark/bm_vm2_zsuper.rb
102
+ #[too long] test/cruby/benchmark/bm_vm3_backtrace.rb
103
+ test/cruby/benchmark/bm_vm3_clearmethodcache.rb
@@ -0,0 +1,9 @@
1
+ a = []
2
+
3
+ 1000.times do |i|
4
+ a << [i]
5
+ end
6
+
7
+ 1000.times do
8
+ a.flatten
9
+ end
@@ -0,0 +1,7 @@
1
+ a1 = [4768, 4964, 4266, 4872, 4231, 4017, 4565, 4793, 4298, 4135, 4639, 4780, 4237, 4548, 4655, 4153, 4654, 4922, 4563, 4042, 4329, 4699, 4352, 4127, 4544, 4906, 4814, 4948, 4977, 4830, 4405, 4642, 4666, 4402, 4679, 4465, 4401, 4155, 4767, 4510, 4747, 4993, 4508, 4697, 4758, 4133, 4348, 4200, 4442, 4970, 4452, 4041, 4103, 4567, 4937, 4047, 4933, 4121, 4860, 4659, 4221, 4312, 4583, 4473, 4973, 4262, 4630, 4123, 4139, 4289, 4147, 4222, 4050, 4019, 4454, 4253, 4552, 4947, 4725, 4457, 4929, 4021, 4502, 4307, 4576, 4124, 4586, 4610, 4027, 4572, 4926, 4753, 4185, 4382, 4394, 4923, 4186, 4254, 4012, 4417, 4556, 4349, 4550, 4330, 4938, 4985, 4778, 4716, 4924, 4045, 4358, 4189, 4591, 4213, 4851, 4825, 4260, 4198, 4342, 4824, 4333, 4244, 4752, 4994, 4488, 4532, 4082, 4595, 4098, 4436, 4540, 4267, 4407, 4998, 4751, 4535, 4861, 4819, 4419, 4031, 4029, 4453, 4698, 4965, 4450, 4668, 4036, 4300, 4519, 4281, 4981, 4818, 4939, 4378, 4140, 4841, 4249, 4290, 4388, 4878, 4884, 4235, 4515, 4638, 4410, 4054, 4383, 4238, 4870, 4295, 4804, 4308, 4614, 4105, 4053, 4446, 4757, 4971, 4637, 4831, 4193, 4912, 4000, 4187, 4606, 4566, 4169, 4641, 4749, 4729, 4928, 4601, 4949, 4210, 4313, 4647, 4495, 4460, 4621, 4605, 4694, 4317, 4226, 4263, 4016, 4997, 4940, 4715, 4907, 4620, 4934, 4996, 4955, 4688, 4304, 4220, 4882, 4772, 4536, 4815, 4693, 4469, 4276, 4409, 4071, 4224, 4020, 4629, 4865, 4813, 4366, 4622, 4129, 4533, 4634, 4564, 4087, 4386, 4161, 4265, 4711, 4009, 4376, 4781, 4837, 4112, 4915, 4592, 4658, 4025, 4987, 4291, 4477, 4503, 4437, 4111, 4707, 4879, 4611, 4549, 4078, 4044, 4853, 4835, 4463, 4577, 4008, 4233, 4741, 4384, 4225, 4024, 4726, 4743, 4160, 4180, 4722, 4609, 4114, 4834, 4742, 4662, 4984, 4299, 4060, 4498, 4755, 4320, 4874, 4528, 4216, 4852, 4951, 4958, 4283, 4239, 4476, 4644, 4143, 4104, 4455, 4126, 4950, 4663, 4013, 4931, 4850, 4242, 4130, 4623, 4871, 4014, 4854, 4293, 4512, 4166, 4740, 4735, 4150, 4651, 4172, 4836, 4530, 4664, 4429, 4511, 4558, 4676, 4085, 4074, 4580, 4794, 4379, 4310, 4817, 4966, 4848, 4202, 4336, 4608, 4351, 4396, 4652, 4033, 4188, 4431, 4916, 4259, 4607, 4816, 4810, 4627, 4527, 4560, 4728, 4589, 4274, 4809, 4790, 4398, 4414, 4516, 4581, 4919, 4665, 4331, 4978, 4543, 4877, 4974, 4284, 4004, 4177, 4466, 4116, 4217, 4901, 4372, 4137, 4806, 4264, 4497, 4294, 4787, 4212, 4215, 4115, 4782, 4739, 4821, 4125, 4505, 4230, 4399, 4395, 4079, 4867, 4381, 4706, 4695, 4404, 4691, 4075, 4353, 4301, 4876, 4731, 4523, 4246, 4529, 4412, 4784, 4449, 4229, 4616, 4158, 4002, 4318, 4377, 4205, 4911, 4777, 4792, 4271, 4763, 4141, 4287, 4890, 4279, 4829, 4646, 4840, 4089, 4880, 4067, 4918, 4059, 4109, 4164, 4863, 4883, 4909, 4361, 4174, 4960, 4302, 4003, 4236, 4846, 4034, 4324, 4513, 4765, 4596, 4900, 4007, 4603, 4474, 4439, 4805, 4015, 4496, 4953, 4363, 4551, 4459, 4063, 4983, 4881, 4365, 4604, 4587, 4798, 4005, 4163, 4421, 4471, 4826, 4144, 4635, 4600, 4913, 4640, 4247, 4766, 4779, 4280, 4391, 4891, 4636, 4546, 4683, 4181, 4081, 4862, 4458, 4037, 4321, 4786, 4717, 4628, 4154, 4326, 4032, 4873, 4151, 4905, 4270, 4156, 4733, 4980, 4866, 4325, 4055, 4467, 4480, 4286, 4191, 4762, 4322, 4574, 4022, 4056, 4770, 4451, 4448, 4845, 4341, 4433, 4245, 4684, 4671, 4093, 4920, 4272, 4745, 4799, 4761, 4250, 4578, 4347, 4499, 4526, 4369, 4162, 4537, 4434, 4893, 4120, 4962, 4667, 4525, 4091, 4462, 4182, 4738, 4935, 4173, 4490, 4571, 4424, 4894, 4051, 4214, 4823, 4096, 4206, 4598, 4943, 4701, 4649, 4807, 4107, 4435, 4456, 4083, 4612, 4721, 4472, 4146, 4925, 4340, 4789, 4277, 4375, 4211, 4427, 4547, 4690, 4613, 4727, 4006, 4203, 4430, 4223, 4039, 4932, 4296, 4108, 4278, 4832, 4422, 4917, 4470, 4183, 4887, 4076, 4485, 4597, 4443, 4257, 4991, 4944, 4196, 4672, 4397, 4097, 4119, 4077, 4773, 4602, 4538, 4479, 4968, 4159, 4539, 4956, 4710, 4812, 4902, 4569, 4954, 4385, 4128, 4936, 4416, 4148, 4632, 4759, 4117, 4896, 4392, 4864, 4316, 4132, 4319, 4969, 4175, 4484, 4903, 4910, 4350, 4332, 4952, 4176, 4594, 4709, 4509, 4178, 4167, 4545, 4857, 4617, 4501, 4859, 4207, 4275, 4687, 4049, 4579, 4046, 4921, 4113, 4898, 4681, 4052, 4415, 4064, 4184, 4895, 4744, 4685, 4084, 4305, 4899, 4559, 4208, 4057, 4507, 4258, 4355, 4086, 4373, 4323, 4541, 4297, 4483, 4889, 4531, 4327, 4441, 4914, 4303, 4677, 4445, 4802, 4343, 4585, 4338, 4524, 4590, 4624, 4288, 4704, 4134, 4043, 4720, 4058, 4328, 4095, 4026, 4423, 4657, 4118, 4633, 4487, 4822, 4904, 4255, 4001, 4387, 4500, 4190, 4686, 4995, 4661, 4783, 4992, 4165, 4065, 4927, 4306, 4856, 4292, 4420, 4963, 4468, 4240, 4724, 4432, 4447, 4518, 4028, 4670, 4339, 4771, 4018, 4489, 4110, 4708, 4945, 4136, 4492, 4930, 4090, 4734, 4886, 4542, 4227, 4486, 4491, 4713, 4986, 4068, 4048, 4975, 4570, 4842, 4475, 4131, 4555, 4428, 4776, 4101, 4273, 4811, 4345, 5000, 4653, 4256, 4209, 4769, 4946, 4561, 4080, 4461, 4820, 4311, 4959, 4750, 4795, 4748, 4368, 4506, 4335, 4346, 4568, 4675, 4692, 4774, 4413, 4370, 4723, 4521, 4885, 4678, 4897, 4066, 4674, 4106, 4626, 4389, 4204, 4839, 4023, 4712, 4145, 4035, 4357, 4756, 4648, 4972, 4157, 4406, 4615, 4061, 4219, 4791, 4660, 4073, 4356, 4072, 4599, 4359, 4094, 4673, 4696, 4796, 4282, 4714, 4522, 4736, 4775, 4760, 4400, 4847, 4228, 4803, 4908, 4732, 4645, 4122, 4218, 4478, 4941, 4892, 4364, 4403, 4152, 4444, 4360, 4354, 4241, 4494, 4367, 4808, 4261, 4088, 4573, 4554, 4248, 4371, 4393, 4268, 4201, 4038, 4788, 4593, 4040, 4801, 4582, 4309, 4976, 4374, 4869, 4380, 4514, 4243, 4362, 4849, 4680, 4888, 4764, 4618, 4838, 4828, 4643, 4010, 4827, 4957, 4099, 4875, 4843, 4737, 4102, 4979, 4011, 4504, 4440, 4746, 4557, 4426, 4553, 4656, 4868, 4689, 4988, 4703, 4967, 4069, 4619, 4334, 4669, 4785, 4464, 4562, 4961, 4625, 4754, 4797, 4481, 4705, 4199, 4337, 4062, 4138, 4702, 4534, 4168, 4418, 4092, 4682, 4520, 4030, 4171, 4650, 4858, 4411, 4999, 4252, 4197, 4170, 4942, 4631, 4990, 4179, 4285, 4700, 4482, 4575, 4800, 4070, 4251, 4344, 4982, 4719, 4390, 4149, 4100, 4194, 4269, 4855, 4314, 4718, 4232, 4730, 4438, 4588, 4195, 4192, 4493, 4517, 4833, 4234, 4989, 4315, 4844, 4142, 4408, 4584, 4425]
2
+ a2 = [5650, 6274, 5600, 6197, 6324, 5850, 5630, 5955, 6343, 6233, 6065, 5637, 5561, 6500, 5565, 5845, 5916, 6229, 5857, 5747, 6419, 5936, 6363, 5773, 6399, 6350, 6172, 6494, 6042, 6013, 6132, 5887, 6215, 5837, 5663, 5695, 6453, 5698, 5941, 6186, 5902, 6116, 6487, 5945, 5694, 6392, 5605, 5524, 5884, 6470, 5503, 6458, 5910, 6469, 5645, 5540, 5505, 6136, 5715, 6306, 6164, 6406, 6120, 5919, 5592, 5595, 5684, 6464, 5958, 6060, 5862, 5672, 5670, 6211, 6321, 5654, 5516, 6278, 6084, 5867, 5577, 6379, 6139, 6472, 6251, 6460, 5831, 6133, 5772, 5788, 6260, 5580, 5912, 5865, 5616, 6153, 5567, 5709, 5963, 6489, 6344, 6113, 6409, 5987, 6141, 5508, 6093, 5723, 5883, 5829, 6086, 5774, 6026, 5601, 5859, 5517, 6252, 6412, 6481, 5828, 5556, 6234, 6416, 5562, 5992, 6045, 5559, 6309, 6109, 6273, 6407, 5743, 6338, 5706, 5719, 6430, 5693, 6247, 6450, 5710, 6015, 6429, 5607, 6056, 6495, 5613, 6370, 5671, 5751, 6237, 5748, 6217, 5977, 6194, 5511, 5599, 5624, 5923, 6452, 5841, 5798, 6025, 5879, 6420, 6177, 6294, 5871, 6105, 5822, 5770, 5724, 5754, 6063, 6291, 5529, 5921, 6018, 5856, 6058, 6372, 6361, 5889, 5899, 5555, 6454, 5960, 6411, 5512, 6069, 5913, 5502, 5821, 5965, 6475, 5697, 5523, 5676, 6076, 5648, 5769, 5948, 6493, 5683, 6200, 5651, 5653, 5885, 5667, 6404, 6432, 6226, 6102, 6213, 5796, 6462, 5811, 5764, 6100, 6073, 6117, 6147, 6373, 5777, 6221, 6184, 5553, 5731, 5536, 6288, 6204, 5586, 5707, 5753, 6362, 5602, 5924, 6231, 5832, 6264, 5968, 5597, 6467, 5946, 6212, 6275, 5509, 6156, 5582, 5816, 5909, 5791, 5952, 6442, 6474, 6023, 5939, 5649, 5531, 6259, 5994, 6388, 5776, 5641, 6068, 6477, 6220, 6286, 5897, 5873, 6381, 6339, 5652, 5589, 6302, 6227, 5544, 5793, 5892, 6488, 5506, 5876, 5781, 5576, 5521, 6331, 6131, 5617, 6332, 5801, 6107, 6463, 6457, 5802, 5737, 6104, 5550, 6253, 6368, 6050, 5766, 5534, 6224, 6401, 6303, 5786, 5735, 6282, 5596, 6459, 6122, 6492, 5854, 5988, 5549, 6318, 5840, 6178, 5640, 5752, 6040, 5665, 5755, 5535, 5721, 6088, 5914, 5689, 6256, 5838, 6021, 5674, 6028, 6223, 6189, 5886, 6232, 5878, 6424, 6413, 6482, 6155, 5638, 6160, 6440, 5571, 6037, 6323, 5959, 6468, 5826, 5682, 6327, 5514, 6390, 5510, 5870, 6108, 5722, 5934, 5998, 6402, 6348, 5718, 6471, 5942, 6029, 6185, 5926, 6386, 5940, 6443, 6230, 5855, 6349, 6059, 6276, 5740, 5996, 6238, 6287, 5812, 5578, 5658, 5525, 6380, 6095, 6112, 5925, 6246, 5985, 5692, 6261, 5734, 6337, 5966, 6004, 6151, 6161, 5917, 5863, 6300, 5732, 5547, 5851, 6295, 5787, 5864, 5545, 6356, 6175, 6154, 5680, 5799, 5500, 5969, 6301, 5622, 6071, 6030, 5655, 6299, 5519, 5818, 6064, 6054, 5646, 6166, 6272, 5610, 5705, 5956, 5820, 5920, 5581, 6268, 6027, 6074, 6087, 5668, 5794, 5880, 6173, 6434, 6374, 6008, 5807, 5739, 6307, 6437, 5619, 6451, 5618, 5628, 5932, 6235, 6190, 6225, 5629, 5911, 6257, 6410, 6304, 6140, 6395, 5817, 6284, 5927, 6010, 5639, 5758, 6098, 6051, 6239, 5979, 6281, 6417, 5903, 5675, 6456, 5795, 5527, 6242, 6387, 6090, 5623, 5890, 6322, 6418, 6110, 6254, 5620, 5537, 5573, 6359, 5612, 6325, 5513, 6044, 5918, 6473, 6148, 6341, 5543, 6448, 6101, 6280, 6222, 6438, 5981, 6152, 5532, 5626, 6491, 5591, 6170, 5953, 6115, 5744, 6179, 5632, 5861, 6421, 6377, 6245, 5852, 5835, 5625, 6289, 5657, 6111, 5768, 5504, 5741, 5606, 6480, 6167, 6096, 6005, 5522, 5974, 6435, 5643, 6290, 5780, 6444, 6083, 5989, 5893, 5539, 6347, 6016, 6210, 6391, 5789, 5967, 5778, 6035, 6476, 5836, 5702, 6003, 5881, 5714, 6002, 6024, 6203, 6119, 5656, 5691, 5944, 5935, 6046, 5763, 6032, 6266, 6250, 5997, 6207, 6092, 6103, 6043, 5999, 5725, 5552, 6007, 6314, 6159, 5844, 5633, 6269, 5720, 5961, 5583, 6446, 5877, 6171, 6199, 6315, 6271, 5756, 6497, 6383, 5704, 5585, 6144, 6384, 6426, 6285, 5611, 6439, 6351, 5574, 5609, 5905, 5538, 5824, 6149, 6036, 5728, 5515, 5929, 6422, 5644, 6366, 5900, 6354, 6121, 5669, 6394, 5703, 5978, 6022, 6085, 5604, 6436, 5688, 6079, 5767, 6378, 5541, 6398, 6265, 6174, 5809, 5819, 6428, 6163, 5660, 6342, 6097, 6128, 6114, 6183, 5685, 5711, 6277, 6089, 5584, 6201, 6305, 6427, 5975, 5642, 6048, 6091, 6130, 5673, 5621, 5993, 5528, 6353, 6345, 6241, 6041, 6137, 6019, 5810, 6385, 6000, 6169, 6298, 6078, 5699, 6358, 5588, 5546, 5678, 5627, 6106, 5785, 6055, 6425, 5906, 5928, 6415, 6182, 6075, 5962, 6052, 6382, 6145, 6129, 6498, 5904, 5779, 5520, 5784, 5783, 6334, 5970, 6205, 5847, 6441, 6066, 6365, 6176, 5849, 6371, 6326, 5686, 5708, 6180, 5814, 5636, 6431, 6405, 6070, 5869, 6077, 5738, 6080, 6496, 5950, 5806, 5782, 5827, 5896, 5598, 5746, 6014, 5742, 6465, 6123, 5964, 6038, 6218, 6020, 5727, 5888, 5530, 6389, 6061, 6483, 6031, 5901, 6393, 6466, 6320, 5666, 5805, 6168, 5986, 5833, 6143, 6181, 5635, 5681, 6447, 6047, 5570, 5898, 5560, 5931, 6126, 6053, 5823, 5566, 5526, 5858, 5548, 6209, 6336, 6011, 5587, 5677, 6082, 5891, 5839, 5874, 5579, 6214, 6397, 5568, 6263, 5991, 5972, 6081, 6490, 6267, 6310, 6248, 5937, 6216, 6333, 5608, 5875, 5551, 6445, 5983, 5848, 5954, 6262, 5762, 6146, 6191, 6206, 6355, 6244, 5868, 5980, 6423, 5922, 6099, 5933, 5614, 5713, 6317, 6312, 5984, 6255, 6187, 6162, 5930, 5690, 5813, 6192, 6400, 5533, 5973, 6150, 6308, 6313, 6125, 6124, 5733, 5951, 5957, 5662, 5765, 5501, 5894, 5797, 5729, 5730, 6403, 6033, 6455, 5895, 6017, 5712, 6219, 5615, 6208, 6198, 6157, 5634, 6408, 5947, 5745, 5971, 6228, 6296, 5843, 5804, 6293, 6202, 5716, 5846, 6461, 5569, 6006, 5603, 6135, 6360, 5717, 6193, 5792, 5775, 5507, 6243, 5872, 6499, 5736, 6158, 6340, 5995, 6311, 6258, 5938, 6479, 5572, 5882, 6195, 6297, 5943, 5825, 6328, 6330, 5679, 6319, 6236, 6485, 6414, 5908, 6001, 5558, 6396, 6486, 5757, 5803, 5700, 5593, 5866, 6433, 5726, 6240, 5830, 6449, 5575, 6478, 5564, 5915, 6034, 6072, 6484, 6375, 5976, 5631, 6138, 5659, 6346, 6118, 6279, 5554, 6283, 5800, 5594, 5701, 6292, 5842, 5518, 6335, 5750, 6196, 5749, 6329, 6369, 5760, 6134, 5661, 6188, 5542, 6127, 6062, 6352, 6270, 5761, 6165, 6376, 6049, 5687, 6364, 5696, 6367, 5990, 5771, 6057, 6094, 5815, 6039, 5759, 5949, 5563, 5590, 5853, 6009, 5907, 5834, 5982, 5664, 6316, 5557, 6067, 6249, 6142, 6357, 5790, 5647, 5808, 5860, 6012]
3
+
4
+ 1000.times do
5
+ x = a1 & a2
6
+ y = a2 & a1
7
+ end
@@ -0,0 +1,7 @@
1
+ a1 = [Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new]
2
+ a2 = [Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new]
3
+
4
+ 1000.times do
5
+ x = a1 & a2
6
+ y = a2 & a1
7
+ end
@@ -0,0 +1,7 @@
1
+ a1 = ['4768', '4964', '4266', '4872', '4231', '4017', '4565', '4793', '4298', '4135', '4639', '4780', '4237', '4548', '4655', '4153', '4654', '4922', '4563', '4042', '4329', '4699', '4352', '4127', '4544', '4906', '4814', '4948', '4977', '4830', '4405', '4642', '4666', '4402', '4679', '4465', '4401', '4155', '4767', '4510', '4747', '4993', '4508', '4697', '4758', '4133', '4348', '4200', '4442', '4970', '4452', '4041', '4103', '4567', '4937', '4047', '4933', '4121', '4860', '4659', '4221', '4312', '4583', '4473', '4973', '4262', '4630', '4123', '4139', '4289', '4147', '4222', '4050', '4019', '4454', '4253', '4552', '4947', '4725', '4457', '4929', '4021', '4502', '4307', '4576', '4124', '4586', '4610', '4027', '4572', '4926', '4753', '4185', '4382', '4394', '4923', '4186', '4254', '4012', '4417', '4556', '4349', '4550', '4330', '4938', '4985', '4778', '4716', '4924', '4045', '4358', '4189', '4591', '4213', '4851', '4825', '4260', '4198', '4342', '4824', '4333', '4244', '4752', '4994', '4488', '4532', '4082', '4595', '4098', '4436', '4540', '4267', '4407', '4998', '4751', '4535', '4861', '4819', '4419', '4031', '4029', '4453', '4698', '4965', '4450', '4668', '4036', '4300', '4519', '4281', '4981', '4818', '4939', '4378', '4140', '4841', '4249', '4290', '4388', '4878', '4884', '4235', '4515', '4638', '4410', '4054', '4383', '4238', '4870', '4295', '4804', '4308', '4614', '4105', '4053', '4446', '4757', '4971', '4637', '4831', '4193', '4912', '4000', '4187', '4606', '4566', '4169', '4641', '4749', '4729', '4928', '4601', '4949', '4210', '4313', '4647', '4495', '4460', '4621', '4605', '4694', '4317', '4226', '4263', '4016', '4997', '4940', '4715', '4907', '4620', '4934', '4996', '4955', '4688', '4304', '4220', '4882', '4772', '4536', '4815', '4693', '4469', '4276', '4409', '4071', '4224', '4020', '4629', '4865', '4813', '4366', '4622', '4129', '4533', '4634', '4564', '4087', '4386', '4161', '4265', '4711', '4009', '4376', '4781', '4837', '4112', '4915', '4592', '4658', '4025', '4987', '4291', '4477', '4503', '4437', '4111', '4707', '4879', '4611', '4549', '4078', '4044', '4853', '4835', '4463', '4577', '4008', '4233', '4741', '4384', '4225', '4024', '4726', '4743', '4160', '4180', '4722', '4609', '4114', '4834', '4742', '4662', '4984', '4299', '4060', '4498', '4755', '4320', '4874', '4528', '4216', '4852', '4951', '4958', '4283', '4239', '4476', '4644', '4143', '4104', '4455', '4126', '4950', '4663', '4013', '4931', '4850', '4242', '4130', '4623', '4871', '4014', '4854', '4293', '4512', '4166', '4740', '4735', '4150', '4651', '4172', '4836', '4530', '4664', '4429', '4511', '4558', '4676', '4085', '4074', '4580', '4794', '4379', '4310', '4817', '4966', '4848', '4202', '4336', '4608', '4351', '4396', '4652', '4033', '4188', '4431', '4916', '4259', '4607', '4816', '4810', '4627', '4527', '4560', '4728', '4589', '4274', '4809', '4790', '4398', '4414', '4516', '4581', '4919', '4665', '4331', '4978', '4543', '4877', '4974', '4284', '4004', '4177', '4466', '4116', '4217', '4901', '4372', '4137', '4806', '4264', '4497', '4294', '4787', '4212', '4215', '4115', '4782', '4739', '4821', '4125', '4505', '4230', '4399', '4395', '4079', '4867', '4381', '4706', '4695', '4404', '4691', '4075', '4353', '4301', '4876', '4731', '4523', '4246', '4529', '4412', '4784', '4449', '4229', '4616', '4158', '4002', '4318', '4377', '4205', '4911', '4777', '4792', '4271', '4763', '4141', '4287', '4890', '4279', '4829', '4646', '4840', '4089', '4880', '4067', '4918', '4059', '4109', '4164', '4863', '4883', '4909', '4361', '4174', '4960', '4302', '4003', '4236', '4846', '4034', '4324', '4513', '4765', '4596', '4900', '4007', '4603', '4474', '4439', '4805', '4015', '4496', '4953', '4363', '4551', '4459', '4063', '4983', '4881', '4365', '4604', '4587', '4798', '4005', '4163', '4421', '4471', '4826', '4144', '4635', '4600', '4913', '4640', '4247', '4766', '4779', '4280', '4391', '4891', '4636', '4546', '4683', '4181', '4081', '4862', '4458', '4037', '4321', '4786', '4717', '4628', '4154', '4326', '4032', '4873', '4151', '4905', '4270', '4156', '4733', '4980', '4866', '4325', '4055', '4467', '4480', '4286', '4191', '4762', '4322', '4574', '4022', '4056', '4770', '4451', '4448', '4845', '4341', '4433', '4245', '4684', '4671', '4093', '4920', '4272', '4745', '4799', '4761', '4250', '4578', '4347', '4499', '4526', '4369', '4162', '4537', '4434', '4893', '4120', '4962', '4667', '4525', '4091', '4462', '4182', '4738', '4935', '4173', '4490', '4571', '4424', '4894', '4051', '4214', '4823', '4096', '4206', '4598', '4943', '4701', '4649', '4807', '4107', '4435', '4456', '4083', '4612', '4721', '4472', '4146', '4925', '4340', '4789', '4277', '4375', '4211', '4427', '4547', '4690', '4613', '4727', '4006', '4203', '4430', '4223', '4039', '4932', '4296', '4108', '4278', '4832', '4422', '4917', '4470', '4183', '4887', '4076', '4485', '4597', '4443', '4257', '4991', '4944', '4196', '4672', '4397', '4097', '4119', '4077', '4773', '4602', '4538', '4479', '4968', '4159', '4539', '4956', '4710', '4812', '4902', '4569', '4954', '4385', '4128', '4936', '4416', '4148', '4632', '4759', '4117', '4896', '4392', '4864', '4316', '4132', '4319', '4969', '4175', '4484', '4903', '4910', '4350', '4332', '4952', '4176', '4594', '4709', '4509', '4178', '4167', '4545', '4857', '4617', '4501', '4859', '4207', '4275', '4687', '4049', '4579', '4046', '4921', '4113', '4898', '4681', '4052', '4415', '4064', '4184', '4895', '4744', '4685', '4084', '4305', '4899', '4559', '4208', '4057', '4507', '4258', '4355', '4086', '4373', '4323', '4541', '4297', '4483', '4889', '4531', '4327', '4441', '4914', '4303', '4677', '4445', '4802', '4343', '4585', '4338', '4524', '4590', '4624', '4288', '4704', '4134', '4043', '4720', '4058', '4328', '4095', '4026', '4423', '4657', '4118', '4633', '4487', '4822', '4904', '4255', '4001', '4387', '4500', '4190', '4686', '4995', '4661', '4783', '4992', '4165', '4065', '4927', '4306', '4856', '4292', '4420', '4963', '4468', '4240', '4724', '4432', '4447', '4518', '4028', '4670', '4339', '4771', '4018', '4489', '4110', '4708', '4945', '4136', '4492', '4930', '4090', '4734', '4886', '4542', '4227', '4486', '4491', '4713', '4986', '4068', '4048', '4975', '4570', '4842', '4475', '4131', '4555', '4428', '4776', '4101', '4273', '4811', '4345', '5000', '4653', '4256', '4209', '4769', '4946', '4561', '4080', '4461', '4820', '4311', '4959', '4750', '4795', '4748', '4368', '4506', '4335', '4346', '4568', '4675', '4692', '4774', '4413', '4370', '4723', '4521', '4885', '4678', '4897', '4066', '4674', '4106', '4626', '4389', '4204', '4839', '4023', '4712', '4145', '4035', '4357', '4756', '4648', '4972', '4157', '4406', '4615', '4061', '4219', '4791', '4660', '4073', '4356', '4072', '4599', '4359', '4094', '4673', '4696', '4796', '4282', '4714', '4522', '4736', '4775', '4760', '4400', '4847', '4228', '4803', '4908', '4732', '4645', '4122', '4218', '4478', '4941', '4892', '4364', '4403', '4152', '4444', '4360', '4354', '4241', '4494', '4367', '4808', '4261', '4088', '4573', '4554', '4248', '4371', '4393', '4268', '4201', '4038', '4788', '4593', '4040', '4801', '4582', '4309', '4976', '4374', '4869', '4380', '4514', '4243', '4362', '4849', '4680', '4888', '4764', '4618', '4838', '4828', '4643', '4010', '4827', '4957', '4099', '4875', '4843', '4737', '4102', '4979', '4011', '4504', '4440', '4746', '4557', '4426', '4553', '4656', '4868', '4689', '4988', '4703', '4967', '4069', '4619', '4334', '4669', '4785', '4464', '4562', '4961', '4625', '4754', '4797', '4481', '4705', '4199', '4337', '4062', '4138', '4702', '4534', '4168', '4418', '4092', '4682', '4520', '4030', '4171', '4650', '4858', '4411', '4999', '4252', '4197', '4170', '4942', '4631', '4990', '4179', '4285', '4700', '4482', '4575', '4800', '4070', '4251', '4344', '4982', '4719', '4390', '4149', '4100', '4194', '4269', '4855', '4314', '4718', '4232', '4730', '4438', '4588', '4195', '4192', '4493', '4517', '4833', '4234', '4989', '4315', '4844', '4142', '4408', '4584', '4425']
2
+ a2 = ['5650', '6274', '5600', '6197', '6324', '5850', '5630', '5955', '6343', '6233', '6065', '5637', '5561', '6500', '5565', '5845', '5916', '6229', '5857', '5747', '6419', '5936', '6363', '5773', '6399', '6350', '6172', '6494', '6042', '6013', '6132', '5887', '6215', '5837', '5663', '5695', '6453', '5698', '5941', '6186', '5902', '6116', '6487', '5945', '5694', '6392', '5605', '5524', '5884', '6470', '5503', '6458', '5910', '6469', '5645', '5540', '5505', '6136', '5715', '6306', '6164', '6406', '6120', '5919', '5592', '5595', '5684', '6464', '5958', '6060', '5862', '5672', '5670', '6211', '6321', '5654', '5516', '6278', '6084', '5867', '5577', '6379', '6139', '6472', '6251', '6460', '5831', '6133', '5772', '5788', '6260', '5580', '5912', '5865', '5616', '6153', '5567', '5709', '5963', '6489', '6344', '6113', '6409', '5987', '6141', '5508', '6093', '5723', '5883', '5829', '6086', '5774', '6026', '5601', '5859', '5517', '6252', '6412', '6481', '5828', '5556', '6234', '6416', '5562', '5992', '6045', '5559', '6309', '6109', '6273', '6407', '5743', '6338', '5706', '5719', '6430', '5693', '6247', '6450', '5710', '6015', '6429', '5607', '6056', '6495', '5613', '6370', '5671', '5751', '6237', '5748', '6217', '5977', '6194', '5511', '5599', '5624', '5923', '6452', '5841', '5798', '6025', '5879', '6420', '6177', '6294', '5871', '6105', '5822', '5770', '5724', '5754', '6063', '6291', '5529', '5921', '6018', '5856', '6058', '6372', '6361', '5889', '5899', '5555', '6454', '5960', '6411', '5512', '6069', '5913', '5502', '5821', '5965', '6475', '5697', '5523', '5676', '6076', '5648', '5769', '5948', '6493', '5683', '6200', '5651', '5653', '5885', '5667', '6404', '6432', '6226', '6102', '6213', '5796', '6462', '5811', '5764', '6100', '6073', '6117', '6147', '6373', '5777', '6221', '6184', '5553', '5731', '5536', '6288', '6204', '5586', '5707', '5753', '6362', '5602', '5924', '6231', '5832', '6264', '5968', '5597', '6467', '5946', '6212', '6275', '5509', '6156', '5582', '5816', '5909', '5791', '5952', '6442', '6474', '6023', '5939', '5649', '5531', '6259', '5994', '6388', '5776', '5641', '6068', '6477', '6220', '6286', '5897', '5873', '6381', '6339', '5652', '5589', '6302', '6227', '5544', '5793', '5892', '6488', '5506', '5876', '5781', '5576', '5521', '6331', '6131', '5617', '6332', '5801', '6107', '6463', '6457', '5802', '5737', '6104', '5550', '6253', '6368', '6050', '5766', '5534', '6224', '6401', '6303', '5786', '5735', '6282', '5596', '6459', '6122', '6492', '5854', '5988', '5549', '6318', '5840', '6178', '5640', '5752', '6040', '5665', '5755', '5535', '5721', '6088', '5914', '5689', '6256', '5838', '6021', '5674', '6028', '6223', '6189', '5886', '6232', '5878', '6424', '6413', '6482', '6155', '5638', '6160', '6440', '5571', '6037', '6323', '5959', '6468', '5826', '5682', '6327', '5514', '6390', '5510', '5870', '6108', '5722', '5934', '5998', '6402', '6348', '5718', '6471', '5942', '6029', '6185', '5926', '6386', '5940', '6443', '6230', '5855', '6349', '6059', '6276', '5740', '5996', '6238', '6287', '5812', '5578', '5658', '5525', '6380', '6095', '6112', '5925', '6246', '5985', '5692', '6261', '5734', '6337', '5966', '6004', '6151', '6161', '5917', '5863', '6300', '5732', '5547', '5851', '6295', '5787', '5864', '5545', '6356', '6175', '6154', '5680', '5799', '5500', '5969', '6301', '5622', '6071', '6030', '5655', '6299', '5519', '5818', '6064', '6054', '5646', '6166', '6272', '5610', '5705', '5956', '5820', '5920', '5581', '6268', '6027', '6074', '6087', '5668', '5794', '5880', '6173', '6434', '6374', '6008', '5807', '5739', '6307', '6437', '5619', '6451', '5618', '5628', '5932', '6235', '6190', '6225', '5629', '5911', '6257', '6410', '6304', '6140', '6395', '5817', '6284', '5927', '6010', '5639', '5758', '6098', '6051', '6239', '5979', '6281', '6417', '5903', '5675', '6456', '5795', '5527', '6242', '6387', '6090', '5623', '5890', '6322', '6418', '6110', '6254', '5620', '5537', '5573', '6359', '5612', '6325', '5513', '6044', '5918', '6473', '6148', '6341', '5543', '6448', '6101', '6280', '6222', '6438', '5981', '6152', '5532', '5626', '6491', '5591', '6170', '5953', '6115', '5744', '6179', '5632', '5861', '6421', '6377', '6245', '5852', '5835', '5625', '6289', '5657', '6111', '5768', '5504', '5741', '5606', '6480', '6167', '6096', '6005', '5522', '5974', '6435', '5643', '6290', '5780', '6444', '6083', '5989', '5893', '5539', '6347', '6016', '6210', '6391', '5789', '5967', '5778', '6035', '6476', '5836', '5702', '6003', '5881', '5714', '6002', '6024', '6203', '6119', '5656', '5691', '5944', '5935', '6046', '5763', '6032', '6266', '6250', '5997', '6207', '6092', '6103', '6043', '5999', '5725', '5552', '6007', '6314', '6159', '5844', '5633', '6269', '5720', '5961', '5583', '6446', '5877', '6171', '6199', '6315', '6271', '5756', '6497', '6383', '5704', '5585', '6144', '6384', '6426', '6285', '5611', '6439', '6351', '5574', '5609', '5905', '5538', '5824', '6149', '6036', '5728', '5515', '5929', '6422', '5644', '6366', '5900', '6354', '6121', '5669', '6394', '5703', '5978', '6022', '6085', '5604', '6436', '5688', '6079', '5767', '6378', '5541', '6398', '6265', '6174', '5809', '5819', '6428', '6163', '5660', '6342', '6097', '6128', '6114', '6183', '5685', '5711', '6277', '6089', '5584', '6201', '6305', '6427', '5975', '5642', '6048', '6091', '6130', '5673', '5621', '5993', '5528', '6353', '6345', '6241', '6041', '6137', '6019', '5810', '6385', '6000', '6169', '6298', '6078', '5699', '6358', '5588', '5546', '5678', '5627', '6106', '5785', '6055', '6425', '5906', '5928', '6415', '6182', '6075', '5962', '6052', '6382', '6145', '6129', '6498', '5904', '5779', '5520', '5784', '5783', '6334', '5970', '6205', '5847', '6441', '6066', '6365', '6176', '5849', '6371', '6326', '5686', '5708', '6180', '5814', '5636', '6431', '6405', '6070', '5869', '6077', '5738', '6080', '6496', '5950', '5806', '5782', '5827', '5896', '5598', '5746', '6014', '5742', '6465', '6123', '5964', '6038', '6218', '6020', '5727', '5888', '5530', '6389', '6061', '6483', '6031', '5901', '6393', '6466', '6320', '5666', '5805', '6168', '5986', '5833', '6143', '6181', '5635', '5681', '6447', '6047', '5570', '5898', '5560', '5931', '6126', '6053', '5823', '5566', '5526', '5858', '5548', '6209', '6336', '6011', '5587', '5677', '6082', '5891', '5839', '5874', '5579', '6214', '6397', '5568', '6263', '5991', '5972', '6081', '6490', '6267', '6310', '6248', '5937', '6216', '6333', '5608', '5875', '5551', '6445', '5983', '5848', '5954', '6262', '5762', '6146', '6191', '6206', '6355', '6244', '5868', '5980', '6423', '5922', '6099', '5933', '5614', '5713', '6317', '6312', '5984', '6255', '6187', '6162', '5930', '5690', '5813', '6192', '6400', '5533', '5973', '6150', '6308', '6313', '6125', '6124', '5733', '5951', '5957', '5662', '5765', '5501', '5894', '5797', '5729', '5730', '6403', '6033', '6455', '5895', '6017', '5712', '6219', '5615', '6208', '6198', '6157', '5634', '6408', '5947', '5745', '5971', '6228', '6296', '5843', '5804', '6293', '6202', '5716', '5846', '6461', '5569', '6006', '5603', '6135', '6360', '5717', '6193', '5792', '5775', '5507', '6243', '5872', '6499', '5736', '6158', '6340', '5995', '6311', '6258', '5938', '6479', '5572', '5882', '6195', '6297', '5943', '5825', '6328', '6330', '5679', '6319', '6236', '6485', '6414', '5908', '6001', '5558', '6396', '6486', '5757', '5803', '5700', '5593', '5866', '6433', '5726', '6240', '5830', '6449', '5575', '6478', '5564', '5915', '6034', '6072', '6484', '6375', '5976', '5631', '6138', '5659', '6346', '6118', '6279', '5554', '6283', '5800', '5594', '5701', '6292', '5842', '5518', '6335', '5750', '6196', '5749', '6329', '6369', '5760', '6134', '5661', '6188', '5542', '6127', '6062', '6352', '6270', '5761', '6165', '6376', '6049', '5687', '6364', '5696', '6367', '5990', '5771', '6057', '6094', '5815', '6039', '5759', '5949', '5563', '5590', '5853', '6009', '5907', '5834', '5982', '5664', '6316', '5557', '6067', '6249', '6142', '6357', '5790', '5647', '5808', '5860', '6012']
3
+
4
+ 1000.times do
5
+ x = a1 & a2
6
+ y = a2 & a1
7
+ end
@@ -0,0 +1,9 @@
1
+ a = []
2
+
3
+ 1000.times do |i|
4
+ a << [i]
5
+ end
6
+
7
+ 1000.times do
8
+ a.join
9
+ end
@@ -0,0 +1,7 @@
1
+ a1 = [4768, 4964, 4266, 4872, 4231, 4017, 4565, 4793, 4298, 4135, 4639, 4780, 4237, 4548, 4655, 4153, 4654, 4922, 4563, 4042, 4329, 4699, 4352, 4127, 4544, 4906, 4814, 4948, 4977, 4830, 4405, 4642, 4666, 4402, 4679, 4465, 4401, 4155, 4767, 4510, 4747, 4993, 4508, 4697, 4758, 4133, 4348, 4200, 4442, 4970, 4452, 4041, 4103, 4567, 4937, 4047, 4933, 4121, 4860, 4659, 4221, 4312, 4583, 4473, 4973, 4262, 4630, 4123, 4139, 4289, 4147, 4222, 4050, 4019, 4454, 4253, 4552, 4947, 4725, 4457, 4929, 4021, 4502, 4307, 4576, 4124, 4586, 4610, 4027, 4572, 4926, 4753, 4185, 4382, 4394, 4923, 4186, 4254, 4012, 4417, 4556, 4349, 4550, 4330, 4938, 4985, 4778, 4716, 4924, 4045, 4358, 4189, 4591, 4213, 4851, 4825, 4260, 4198, 4342, 4824, 4333, 4244, 4752, 4994, 4488, 4532, 4082, 4595, 4098, 4436, 4540, 4267, 4407, 4998, 4751, 4535, 4861, 4819, 4419, 4031, 4029, 4453, 4698, 4965, 4450, 4668, 4036, 4300, 4519, 4281, 4981, 4818, 4939, 4378, 4140, 4841, 4249, 4290, 4388, 4878, 4884, 4235, 4515, 4638, 4410, 4054, 4383, 4238, 4870, 4295, 4804, 4308, 4614, 4105, 4053, 4446, 4757, 4971, 4637, 4831, 4193, 4912, 4000, 4187, 4606, 4566, 4169, 4641, 4749, 4729, 4928, 4601, 4949, 4210, 4313, 4647, 4495, 4460, 4621, 4605, 4694, 4317, 4226, 4263, 4016, 4997, 4940, 4715, 4907, 4620, 4934, 4996, 4955, 4688, 4304, 4220, 4882, 4772, 4536, 4815, 4693, 4469, 4276, 4409, 4071, 4224, 4020, 4629, 4865, 4813, 4366, 4622, 4129, 4533, 4634, 4564, 4087, 4386, 4161, 4265, 4711, 4009, 4376, 4781, 4837, 4112, 4915, 4592, 4658, 4025, 4987, 4291, 4477, 4503, 4437, 4111, 4707, 4879, 4611, 4549, 4078, 4044, 4853, 4835, 4463, 4577, 4008, 4233, 4741, 4384, 4225, 4024, 4726, 4743, 4160, 4180, 4722, 4609, 4114, 4834, 4742, 4662, 4984, 4299, 4060, 4498, 4755, 4320, 4874, 4528, 4216, 4852, 4951, 4958, 4283, 4239, 4476, 4644, 4143, 4104, 4455, 4126, 4950, 4663, 4013, 4931, 4850, 4242, 4130, 4623, 4871, 4014, 4854, 4293, 4512, 4166, 4740, 4735, 4150, 4651, 4172, 4836, 4530, 4664, 4429, 4511, 4558, 4676, 4085, 4074, 4580, 4794, 4379, 4310, 4817, 4966, 4848, 4202, 4336, 4608, 4351, 4396, 4652, 4033, 4188, 4431, 4916, 4259, 4607, 4816, 4810, 4627, 4527, 4560, 4728, 4589, 4274, 4809, 4790, 4398, 4414, 4516, 4581, 4919, 4665, 4331, 4978, 4543, 4877, 4974, 4284, 4004, 4177, 4466, 4116, 4217, 4901, 4372, 4137, 4806, 4264, 4497, 4294, 4787, 4212, 4215, 4115, 4782, 4739, 4821, 4125, 4505, 4230, 4399, 4395, 4079, 4867, 4381, 4706, 4695, 4404, 4691, 4075, 4353, 4301, 4876, 4731, 4523, 4246, 4529, 4412, 4784, 4449, 4229, 4616, 4158, 4002, 4318, 4377, 4205, 4911, 4777, 4792, 4271, 4763, 4141, 4287, 4890, 4279, 4829, 4646, 4840, 4089, 4880, 4067, 4918, 4059, 4109, 4164, 4863, 4883, 4909, 4361, 4174, 4960, 4302, 4003, 4236, 4846, 4034, 4324, 4513, 4765, 4596, 4900, 4007, 4603, 4474, 4439, 4805, 4015, 4496, 4953, 4363, 4551, 4459, 4063, 4983, 4881, 4365, 4604, 4587, 4798, 4005, 4163, 4421, 4471, 4826, 4144, 4635, 4600, 4913, 4640, 4247, 4766, 4779, 4280, 4391, 4891, 4636, 4546, 4683, 4181, 4081, 4862, 4458, 4037, 4321, 4786, 4717, 4628, 4154, 4326, 4032, 4873, 4151, 4905, 4270, 4156, 4733, 4980, 4866, 4325, 4055, 4467, 4480, 4286, 4191, 4762, 4322, 4574, 4022, 4056, 4770, 4451, 4448, 4845, 4341, 4433, 4245, 4684, 4671, 4093, 4920, 4272, 4745, 4799, 4761, 4250, 4578, 4347, 4499, 4526, 4369, 4162, 4537, 4434, 4893, 4120, 4962, 4667, 4525, 4091, 4462, 4182, 4738, 4935, 4173, 4490, 4571, 4424, 4894, 4051, 4214, 4823, 4096, 4206, 4598, 4943, 4701, 4649, 4807, 4107, 4435, 4456, 4083, 4612, 4721, 4472, 4146, 4925, 4340, 4789, 4277, 4375, 4211, 4427, 4547, 4690, 4613, 4727, 4006, 4203, 4430, 4223, 4039, 4932, 4296, 4108, 4278, 4832, 4422, 4917, 4470, 4183, 4887, 4076, 4485, 4597, 4443, 4257, 4991, 4944, 4196, 4672, 4397, 4097, 4119, 4077, 4773, 4602, 4538, 4479, 4968, 4159, 4539, 4956, 4710, 4812, 4902, 4569, 4954, 4385, 4128, 4936, 4416, 4148, 4632, 4759, 4117, 4896, 4392, 4864, 4316, 4132, 4319, 4969, 4175, 4484, 4903, 4910, 4350, 4332, 4952, 4176, 4594, 4709, 4509, 4178, 4167, 4545, 4857, 4617, 4501, 4859, 4207, 4275, 4687, 4049, 4579, 4046, 4921, 4113, 4898, 4681, 4052, 4415, 4064, 4184, 4895, 4744, 4685, 4084, 4305, 4899, 4559, 4208, 4057, 4507, 4258, 4355, 4086, 4373, 4323, 4541, 4297, 4483, 4889, 4531, 4327, 4441, 4914, 4303, 4677, 4445, 4802, 4343, 4585, 4338, 4524, 4590, 4624, 4288, 4704, 4134, 4043, 4720, 4058, 4328, 4095, 4026, 4423, 4657, 4118, 4633, 4487, 4822, 4904, 4255, 4001, 4387, 4500, 4190, 4686, 4995, 4661, 4783, 4992, 4165, 4065, 4927, 4306, 4856, 4292, 4420, 4963, 4468, 4240, 4724, 4432, 4447, 4518, 4028, 4670, 4339, 4771, 4018, 4489, 4110, 4708, 4945, 4136, 4492, 4930, 4090, 4734, 4886, 4542, 4227, 4486, 4491, 4713, 4986, 4068, 4048, 4975, 4570, 4842, 4475, 4131, 4555, 4428, 4776, 4101, 4273, 4811, 4345, 5000, 4653, 4256, 4209, 4769, 4946, 4561, 4080, 4461, 4820, 4311, 4959, 4750, 4795, 4748, 4368, 4506, 4335, 4346, 4568, 4675, 4692, 4774, 4413, 4370, 4723, 4521, 4885, 4678, 4897, 4066, 4674, 4106, 4626, 4389, 4204, 4839, 4023, 4712, 4145, 4035, 4357, 4756, 4648, 4972, 4157, 4406, 4615, 4061, 4219, 4791, 4660, 4073, 4356, 4072, 4599, 4359, 4094, 4673, 4696, 4796, 4282, 4714, 4522, 4736, 4775, 4760, 4400, 4847, 4228, 4803, 4908, 4732, 4645, 4122, 4218, 4478, 4941, 4892, 4364, 4403, 4152, 4444, 4360, 4354, 4241, 4494, 4367, 4808, 4261, 4088, 4573, 4554, 4248, 4371, 4393, 4268, 4201, 4038, 4788, 4593, 4040, 4801, 4582, 4309, 4976, 4374, 4869, 4380, 4514, 4243, 4362, 4849, 4680, 4888, 4764, 4618, 4838, 4828, 4643, 4010, 4827, 4957, 4099, 4875, 4843, 4737, 4102, 4979, 4011, 4504, 4440, 4746, 4557, 4426, 4553, 4656, 4868, 4689, 4988, 4703, 4967, 4069, 4619, 4334, 4669, 4785, 4464, 4562, 4961, 4625, 4754, 4797, 4481, 4705, 4199, 4337, 4062, 4138, 4702, 4534, 4168, 4418, 4092, 4682, 4520, 4030, 4171, 4650, 4858, 4411, 4999, 4252, 4197, 4170, 4942, 4631, 4990, 4179, 4285, 4700, 4482, 4575, 4800, 4070, 4251, 4344, 4982, 4719, 4390, 4149, 4100, 4194, 4269, 4855, 4314, 4718, 4232, 4730, 4438, 4588, 4195, 4192, 4493, 4517, 4833, 4234, 4989, 4315, 4844, 4142, 4408, 4584, 4425]
2
+ a2 = [5650, 6274, 5600, 6197, 6324, 5850, 5630, 5955, 6343, 6233, 6065, 5637, 5561, 6500, 5565, 5845, 5916, 6229, 5857, 5747, 6419, 5936, 6363, 5773, 6399, 6350, 6172, 6494, 6042, 6013, 6132, 5887, 6215, 5837, 5663, 5695, 6453, 5698, 5941, 6186, 5902, 6116, 6487, 5945, 5694, 6392, 5605, 5524, 5884, 6470, 5503, 6458, 5910, 6469, 5645, 5540, 5505, 6136, 5715, 6306, 6164, 6406, 6120, 5919, 5592, 5595, 5684, 6464, 5958, 6060, 5862, 5672, 5670, 6211, 6321, 5654, 5516, 6278, 6084, 5867, 5577, 6379, 6139, 6472, 6251, 6460, 5831, 6133, 5772, 5788, 6260, 5580, 5912, 5865, 5616, 6153, 5567, 5709, 5963, 6489, 6344, 6113, 6409, 5987, 6141, 5508, 6093, 5723, 5883, 5829, 6086, 5774, 6026, 5601, 5859, 5517, 6252, 6412, 6481, 5828, 5556, 6234, 6416, 5562, 5992, 6045, 5559, 6309, 6109, 6273, 6407, 5743, 6338, 5706, 5719, 6430, 5693, 6247, 6450, 5710, 6015, 6429, 5607, 6056, 6495, 5613, 6370, 5671, 5751, 6237, 5748, 6217, 5977, 6194, 5511, 5599, 5624, 5923, 6452, 5841, 5798, 6025, 5879, 6420, 6177, 6294, 5871, 6105, 5822, 5770, 5724, 5754, 6063, 6291, 5529, 5921, 6018, 5856, 6058, 6372, 6361, 5889, 5899, 5555, 6454, 5960, 6411, 5512, 6069, 5913, 5502, 5821, 5965, 6475, 5697, 5523, 5676, 6076, 5648, 5769, 5948, 6493, 5683, 6200, 5651, 5653, 5885, 5667, 6404, 6432, 6226, 6102, 6213, 5796, 6462, 5811, 5764, 6100, 6073, 6117, 6147, 6373, 5777, 6221, 6184, 5553, 5731, 5536, 6288, 6204, 5586, 5707, 5753, 6362, 5602, 5924, 6231, 5832, 6264, 5968, 5597, 6467, 5946, 6212, 6275, 5509, 6156, 5582, 5816, 5909, 5791, 5952, 6442, 6474, 6023, 5939, 5649, 5531, 6259, 5994, 6388, 5776, 5641, 6068, 6477, 6220, 6286, 5897, 5873, 6381, 6339, 5652, 5589, 6302, 6227, 5544, 5793, 5892, 6488, 5506, 5876, 5781, 5576, 5521, 6331, 6131, 5617, 6332, 5801, 6107, 6463, 6457, 5802, 5737, 6104, 5550, 6253, 6368, 6050, 5766, 5534, 6224, 6401, 6303, 5786, 5735, 6282, 5596, 6459, 6122, 6492, 5854, 5988, 5549, 6318, 5840, 6178, 5640, 5752, 6040, 5665, 5755, 5535, 5721, 6088, 5914, 5689, 6256, 5838, 6021, 5674, 6028, 6223, 6189, 5886, 6232, 5878, 6424, 6413, 6482, 6155, 5638, 6160, 6440, 5571, 6037, 6323, 5959, 6468, 5826, 5682, 6327, 5514, 6390, 5510, 5870, 6108, 5722, 5934, 5998, 6402, 6348, 5718, 6471, 5942, 6029, 6185, 5926, 6386, 5940, 6443, 6230, 5855, 6349, 6059, 6276, 5740, 5996, 6238, 6287, 5812, 5578, 5658, 5525, 6380, 6095, 6112, 5925, 6246, 5985, 5692, 6261, 5734, 6337, 5966, 6004, 6151, 6161, 5917, 5863, 6300, 5732, 5547, 5851, 6295, 5787, 5864, 5545, 6356, 6175, 6154, 5680, 5799, 5500, 5969, 6301, 5622, 6071, 6030, 5655, 6299, 5519, 5818, 6064, 6054, 5646, 6166, 6272, 5610, 5705, 5956, 5820, 5920, 5581, 6268, 6027, 6074, 6087, 5668, 5794, 5880, 6173, 6434, 6374, 6008, 5807, 5739, 6307, 6437, 5619, 6451, 5618, 5628, 5932, 6235, 6190, 6225, 5629, 5911, 6257, 6410, 6304, 6140, 6395, 5817, 6284, 5927, 6010, 5639, 5758, 6098, 6051, 6239, 5979, 6281, 6417, 5903, 5675, 6456, 5795, 5527, 6242, 6387, 6090, 5623, 5890, 6322, 6418, 6110, 6254, 5620, 5537, 5573, 6359, 5612, 6325, 5513, 6044, 5918, 6473, 6148, 6341, 5543, 6448, 6101, 6280, 6222, 6438, 5981, 6152, 5532, 5626, 6491, 5591, 6170, 5953, 6115, 5744, 6179, 5632, 5861, 6421, 6377, 6245, 5852, 5835, 5625, 6289, 5657, 6111, 5768, 5504, 5741, 5606, 6480, 6167, 6096, 6005, 5522, 5974, 6435, 5643, 6290, 5780, 6444, 6083, 5989, 5893, 5539, 6347, 6016, 6210, 6391, 5789, 5967, 5778, 6035, 6476, 5836, 5702, 6003, 5881, 5714, 6002, 6024, 6203, 6119, 5656, 5691, 5944, 5935, 6046, 5763, 6032, 6266, 6250, 5997, 6207, 6092, 6103, 6043, 5999, 5725, 5552, 6007, 6314, 6159, 5844, 5633, 6269, 5720, 5961, 5583, 6446, 5877, 6171, 6199, 6315, 6271, 5756, 6497, 6383, 5704, 5585, 6144, 6384, 6426, 6285, 5611, 6439, 6351, 5574, 5609, 5905, 5538, 5824, 6149, 6036, 5728, 5515, 5929, 6422, 5644, 6366, 5900, 6354, 6121, 5669, 6394, 5703, 5978, 6022, 6085, 5604, 6436, 5688, 6079, 5767, 6378, 5541, 6398, 6265, 6174, 5809, 5819, 6428, 6163, 5660, 6342, 6097, 6128, 6114, 6183, 5685, 5711, 6277, 6089, 5584, 6201, 6305, 6427, 5975, 5642, 6048, 6091, 6130, 5673, 5621, 5993, 5528, 6353, 6345, 6241, 6041, 6137, 6019, 5810, 6385, 6000, 6169, 6298, 6078, 5699, 6358, 5588, 5546, 5678, 5627, 6106, 5785, 6055, 6425, 5906, 5928, 6415, 6182, 6075, 5962, 6052, 6382, 6145, 6129, 6498, 5904, 5779, 5520, 5784, 5783, 6334, 5970, 6205, 5847, 6441, 6066, 6365, 6176, 5849, 6371, 6326, 5686, 5708, 6180, 5814, 5636, 6431, 6405, 6070, 5869, 6077, 5738, 6080, 6496, 5950, 5806, 5782, 5827, 5896, 5598, 5746, 6014, 5742, 6465, 6123, 5964, 6038, 6218, 6020, 5727, 5888, 5530, 6389, 6061, 6483, 6031, 5901, 6393, 6466, 6320, 5666, 5805, 6168, 5986, 5833, 6143, 6181, 5635, 5681, 6447, 6047, 5570, 5898, 5560, 5931, 6126, 6053, 5823, 5566, 5526, 5858, 5548, 6209, 6336, 6011, 5587, 5677, 6082, 5891, 5839, 5874, 5579, 6214, 6397, 5568, 6263, 5991, 5972, 6081, 6490, 6267, 6310, 6248, 5937, 6216, 6333, 5608, 5875, 5551, 6445, 5983, 5848, 5954, 6262, 5762, 6146, 6191, 6206, 6355, 6244, 5868, 5980, 6423, 5922, 6099, 5933, 5614, 5713, 6317, 6312, 5984, 6255, 6187, 6162, 5930, 5690, 5813, 6192, 6400, 5533, 5973, 6150, 6308, 6313, 6125, 6124, 5733, 5951, 5957, 5662, 5765, 5501, 5894, 5797, 5729, 5730, 6403, 6033, 6455, 5895, 6017, 5712, 6219, 5615, 6208, 6198, 6157, 5634, 6408, 5947, 5745, 5971, 6228, 6296, 5843, 5804, 6293, 6202, 5716, 5846, 6461, 5569, 6006, 5603, 6135, 6360, 5717, 6193, 5792, 5775, 5507, 6243, 5872, 6499, 5736, 6158, 6340, 5995, 6311, 6258, 5938, 6479, 5572, 5882, 6195, 6297, 5943, 5825, 6328, 6330, 5679, 6319, 6236, 6485, 6414, 5908, 6001, 5558, 6396, 6486, 5757, 5803, 5700, 5593, 5866, 6433, 5726, 6240, 5830, 6449, 5575, 6478, 5564, 5915, 6034, 6072, 6484, 6375, 5976, 5631, 6138, 5659, 6346, 6118, 6279, 5554, 6283, 5800, 5594, 5701, 6292, 5842, 5518, 6335, 5750, 6196, 5749, 6329, 6369, 5760, 6134, 5661, 6188, 5542, 6127, 6062, 6352, 6270, 5761, 6165, 6376, 6049, 5687, 6364, 5696, 6367, 5990, 5771, 6057, 6094, 5815, 6039, 5759, 5949, 5563, 5590, 5853, 6009, 5907, 5834, 5982, 5664, 6316, 5557, 6067, 6249, 6142, 6357, 5790, 5647, 5808, 5860, 6012]
3
+
4
+ 1000.times do
5
+ x = a1 - a2
6
+ y = a2 - a1
7
+ end
@@ -0,0 +1,7 @@
1
+ a1 = [Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new]
2
+ a2 = [Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new]
3
+
4
+ 1000.times do
5
+ x = a1 - a2
6
+ y = a2 - a1
7
+ end
@@ -0,0 +1,7 @@
1
+ a1 = ['4768', '4964', '4266', '4872', '4231', '4017', '4565', '4793', '4298', '4135', '4639', '4780', '4237', '4548', '4655', '4153', '4654', '4922', '4563', '4042', '4329', '4699', '4352', '4127', '4544', '4906', '4814', '4948', '4977', '4830', '4405', '4642', '4666', '4402', '4679', '4465', '4401', '4155', '4767', '4510', '4747', '4993', '4508', '4697', '4758', '4133', '4348', '4200', '4442', '4970', '4452', '4041', '4103', '4567', '4937', '4047', '4933', '4121', '4860', '4659', '4221', '4312', '4583', '4473', '4973', '4262', '4630', '4123', '4139', '4289', '4147', '4222', '4050', '4019', '4454', '4253', '4552', '4947', '4725', '4457', '4929', '4021', '4502', '4307', '4576', '4124', '4586', '4610', '4027', '4572', '4926', '4753', '4185', '4382', '4394', '4923', '4186', '4254', '4012', '4417', '4556', '4349', '4550', '4330', '4938', '4985', '4778', '4716', '4924', '4045', '4358', '4189', '4591', '4213', '4851', '4825', '4260', '4198', '4342', '4824', '4333', '4244', '4752', '4994', '4488', '4532', '4082', '4595', '4098', '4436', '4540', '4267', '4407', '4998', '4751', '4535', '4861', '4819', '4419', '4031', '4029', '4453', '4698', '4965', '4450', '4668', '4036', '4300', '4519', '4281', '4981', '4818', '4939', '4378', '4140', '4841', '4249', '4290', '4388', '4878', '4884', '4235', '4515', '4638', '4410', '4054', '4383', '4238', '4870', '4295', '4804', '4308', '4614', '4105', '4053', '4446', '4757', '4971', '4637', '4831', '4193', '4912', '4000', '4187', '4606', '4566', '4169', '4641', '4749', '4729', '4928', '4601', '4949', '4210', '4313', '4647', '4495', '4460', '4621', '4605', '4694', '4317', '4226', '4263', '4016', '4997', '4940', '4715', '4907', '4620', '4934', '4996', '4955', '4688', '4304', '4220', '4882', '4772', '4536', '4815', '4693', '4469', '4276', '4409', '4071', '4224', '4020', '4629', '4865', '4813', '4366', '4622', '4129', '4533', '4634', '4564', '4087', '4386', '4161', '4265', '4711', '4009', '4376', '4781', '4837', '4112', '4915', '4592', '4658', '4025', '4987', '4291', '4477', '4503', '4437', '4111', '4707', '4879', '4611', '4549', '4078', '4044', '4853', '4835', '4463', '4577', '4008', '4233', '4741', '4384', '4225', '4024', '4726', '4743', '4160', '4180', '4722', '4609', '4114', '4834', '4742', '4662', '4984', '4299', '4060', '4498', '4755', '4320', '4874', '4528', '4216', '4852', '4951', '4958', '4283', '4239', '4476', '4644', '4143', '4104', '4455', '4126', '4950', '4663', '4013', '4931', '4850', '4242', '4130', '4623', '4871', '4014', '4854', '4293', '4512', '4166', '4740', '4735', '4150', '4651', '4172', '4836', '4530', '4664', '4429', '4511', '4558', '4676', '4085', '4074', '4580', '4794', '4379', '4310', '4817', '4966', '4848', '4202', '4336', '4608', '4351', '4396', '4652', '4033', '4188', '4431', '4916', '4259', '4607', '4816', '4810', '4627', '4527', '4560', '4728', '4589', '4274', '4809', '4790', '4398', '4414', '4516', '4581', '4919', '4665', '4331', '4978', '4543', '4877', '4974', '4284', '4004', '4177', '4466', '4116', '4217', '4901', '4372', '4137', '4806', '4264', '4497', '4294', '4787', '4212', '4215', '4115', '4782', '4739', '4821', '4125', '4505', '4230', '4399', '4395', '4079', '4867', '4381', '4706', '4695', '4404', '4691', '4075', '4353', '4301', '4876', '4731', '4523', '4246', '4529', '4412', '4784', '4449', '4229', '4616', '4158', '4002', '4318', '4377', '4205', '4911', '4777', '4792', '4271', '4763', '4141', '4287', '4890', '4279', '4829', '4646', '4840', '4089', '4880', '4067', '4918', '4059', '4109', '4164', '4863', '4883', '4909', '4361', '4174', '4960', '4302', '4003', '4236', '4846', '4034', '4324', '4513', '4765', '4596', '4900', '4007', '4603', '4474', '4439', '4805', '4015', '4496', '4953', '4363', '4551', '4459', '4063', '4983', '4881', '4365', '4604', '4587', '4798', '4005', '4163', '4421', '4471', '4826', '4144', '4635', '4600', '4913', '4640', '4247', '4766', '4779', '4280', '4391', '4891', '4636', '4546', '4683', '4181', '4081', '4862', '4458', '4037', '4321', '4786', '4717', '4628', '4154', '4326', '4032', '4873', '4151', '4905', '4270', '4156', '4733', '4980', '4866', '4325', '4055', '4467', '4480', '4286', '4191', '4762', '4322', '4574', '4022', '4056', '4770', '4451', '4448', '4845', '4341', '4433', '4245', '4684', '4671', '4093', '4920', '4272', '4745', '4799', '4761', '4250', '4578', '4347', '4499', '4526', '4369', '4162', '4537', '4434', '4893', '4120', '4962', '4667', '4525', '4091', '4462', '4182', '4738', '4935', '4173', '4490', '4571', '4424', '4894', '4051', '4214', '4823', '4096', '4206', '4598', '4943', '4701', '4649', '4807', '4107', '4435', '4456', '4083', '4612', '4721', '4472', '4146', '4925', '4340', '4789', '4277', '4375', '4211', '4427', '4547', '4690', '4613', '4727', '4006', '4203', '4430', '4223', '4039', '4932', '4296', '4108', '4278', '4832', '4422', '4917', '4470', '4183', '4887', '4076', '4485', '4597', '4443', '4257', '4991', '4944', '4196', '4672', '4397', '4097', '4119', '4077', '4773', '4602', '4538', '4479', '4968', '4159', '4539', '4956', '4710', '4812', '4902', '4569', '4954', '4385', '4128', '4936', '4416', '4148', '4632', '4759', '4117', '4896', '4392', '4864', '4316', '4132', '4319', '4969', '4175', '4484', '4903', '4910', '4350', '4332', '4952', '4176', '4594', '4709', '4509', '4178', '4167', '4545', '4857', '4617', '4501', '4859', '4207', '4275', '4687', '4049', '4579', '4046', '4921', '4113', '4898', '4681', '4052', '4415', '4064', '4184', '4895', '4744', '4685', '4084', '4305', '4899', '4559', '4208', '4057', '4507', '4258', '4355', '4086', '4373', '4323', '4541', '4297', '4483', '4889', '4531', '4327', '4441', '4914', '4303', '4677', '4445', '4802', '4343', '4585', '4338', '4524', '4590', '4624', '4288', '4704', '4134', '4043', '4720', '4058', '4328', '4095', '4026', '4423', '4657', '4118', '4633', '4487', '4822', '4904', '4255', '4001', '4387', '4500', '4190', '4686', '4995', '4661', '4783', '4992', '4165', '4065', '4927', '4306', '4856', '4292', '4420', '4963', '4468', '4240', '4724', '4432', '4447', '4518', '4028', '4670', '4339', '4771', '4018', '4489', '4110', '4708', '4945', '4136', '4492', '4930', '4090', '4734', '4886', '4542', '4227', '4486', '4491', '4713', '4986', '4068', '4048', '4975', '4570', '4842', '4475', '4131', '4555', '4428', '4776', '4101', '4273', '4811', '4345', '5000', '4653', '4256', '4209', '4769', '4946', '4561', '4080', '4461', '4820', '4311', '4959', '4750', '4795', '4748', '4368', '4506', '4335', '4346', '4568', '4675', '4692', '4774', '4413', '4370', '4723', '4521', '4885', '4678', '4897', '4066', '4674', '4106', '4626', '4389', '4204', '4839', '4023', '4712', '4145', '4035', '4357', '4756', '4648', '4972', '4157', '4406', '4615', '4061', '4219', '4791', '4660', '4073', '4356', '4072', '4599', '4359', '4094', '4673', '4696', '4796', '4282', '4714', '4522', '4736', '4775', '4760', '4400', '4847', '4228', '4803', '4908', '4732', '4645', '4122', '4218', '4478', '4941', '4892', '4364', '4403', '4152', '4444', '4360', '4354', '4241', '4494', '4367', '4808', '4261', '4088', '4573', '4554', '4248', '4371', '4393', '4268', '4201', '4038', '4788', '4593', '4040', '4801', '4582', '4309', '4976', '4374', '4869', '4380', '4514', '4243', '4362', '4849', '4680', '4888', '4764', '4618', '4838', '4828', '4643', '4010', '4827', '4957', '4099', '4875', '4843', '4737', '4102', '4979', '4011', '4504', '4440', '4746', '4557', '4426', '4553', '4656', '4868', '4689', '4988', '4703', '4967', '4069', '4619', '4334', '4669', '4785', '4464', '4562', '4961', '4625', '4754', '4797', '4481', '4705', '4199', '4337', '4062', '4138', '4702', '4534', '4168', '4418', '4092', '4682', '4520', '4030', '4171', '4650', '4858', '4411', '4999', '4252', '4197', '4170', '4942', '4631', '4990', '4179', '4285', '4700', '4482', '4575', '4800', '4070', '4251', '4344', '4982', '4719', '4390', '4149', '4100', '4194', '4269', '4855', '4314', '4718', '4232', '4730', '4438', '4588', '4195', '4192', '4493', '4517', '4833', '4234', '4989', '4315', '4844', '4142', '4408', '4584', '4425']
2
+ a2 = ['5650', '6274', '5600', '6197', '6324', '5850', '5630', '5955', '6343', '6233', '6065', '5637', '5561', '6500', '5565', '5845', '5916', '6229', '5857', '5747', '6419', '5936', '6363', '5773', '6399', '6350', '6172', '6494', '6042', '6013', '6132', '5887', '6215', '5837', '5663', '5695', '6453', '5698', '5941', '6186', '5902', '6116', '6487', '5945', '5694', '6392', '5605', '5524', '5884', '6470', '5503', '6458', '5910', '6469', '5645', '5540', '5505', '6136', '5715', '6306', '6164', '6406', '6120', '5919', '5592', '5595', '5684', '6464', '5958', '6060', '5862', '5672', '5670', '6211', '6321', '5654', '5516', '6278', '6084', '5867', '5577', '6379', '6139', '6472', '6251', '6460', '5831', '6133', '5772', '5788', '6260', '5580', '5912', '5865', '5616', '6153', '5567', '5709', '5963', '6489', '6344', '6113', '6409', '5987', '6141', '5508', '6093', '5723', '5883', '5829', '6086', '5774', '6026', '5601', '5859', '5517', '6252', '6412', '6481', '5828', '5556', '6234', '6416', '5562', '5992', '6045', '5559', '6309', '6109', '6273', '6407', '5743', '6338', '5706', '5719', '6430', '5693', '6247', '6450', '5710', '6015', '6429', '5607', '6056', '6495', '5613', '6370', '5671', '5751', '6237', '5748', '6217', '5977', '6194', '5511', '5599', '5624', '5923', '6452', '5841', '5798', '6025', '5879', '6420', '6177', '6294', '5871', '6105', '5822', '5770', '5724', '5754', '6063', '6291', '5529', '5921', '6018', '5856', '6058', '6372', '6361', '5889', '5899', '5555', '6454', '5960', '6411', '5512', '6069', '5913', '5502', '5821', '5965', '6475', '5697', '5523', '5676', '6076', '5648', '5769', '5948', '6493', '5683', '6200', '5651', '5653', '5885', '5667', '6404', '6432', '6226', '6102', '6213', '5796', '6462', '5811', '5764', '6100', '6073', '6117', '6147', '6373', '5777', '6221', '6184', '5553', '5731', '5536', '6288', '6204', '5586', '5707', '5753', '6362', '5602', '5924', '6231', '5832', '6264', '5968', '5597', '6467', '5946', '6212', '6275', '5509', '6156', '5582', '5816', '5909', '5791', '5952', '6442', '6474', '6023', '5939', '5649', '5531', '6259', '5994', '6388', '5776', '5641', '6068', '6477', '6220', '6286', '5897', '5873', '6381', '6339', '5652', '5589', '6302', '6227', '5544', '5793', '5892', '6488', '5506', '5876', '5781', '5576', '5521', '6331', '6131', '5617', '6332', '5801', '6107', '6463', '6457', '5802', '5737', '6104', '5550', '6253', '6368', '6050', '5766', '5534', '6224', '6401', '6303', '5786', '5735', '6282', '5596', '6459', '6122', '6492', '5854', '5988', '5549', '6318', '5840', '6178', '5640', '5752', '6040', '5665', '5755', '5535', '5721', '6088', '5914', '5689', '6256', '5838', '6021', '5674', '6028', '6223', '6189', '5886', '6232', '5878', '6424', '6413', '6482', '6155', '5638', '6160', '6440', '5571', '6037', '6323', '5959', '6468', '5826', '5682', '6327', '5514', '6390', '5510', '5870', '6108', '5722', '5934', '5998', '6402', '6348', '5718', '6471', '5942', '6029', '6185', '5926', '6386', '5940', '6443', '6230', '5855', '6349', '6059', '6276', '5740', '5996', '6238', '6287', '5812', '5578', '5658', '5525', '6380', '6095', '6112', '5925', '6246', '5985', '5692', '6261', '5734', '6337', '5966', '6004', '6151', '6161', '5917', '5863', '6300', '5732', '5547', '5851', '6295', '5787', '5864', '5545', '6356', '6175', '6154', '5680', '5799', '5500', '5969', '6301', '5622', '6071', '6030', '5655', '6299', '5519', '5818', '6064', '6054', '5646', '6166', '6272', '5610', '5705', '5956', '5820', '5920', '5581', '6268', '6027', '6074', '6087', '5668', '5794', '5880', '6173', '6434', '6374', '6008', '5807', '5739', '6307', '6437', '5619', '6451', '5618', '5628', '5932', '6235', '6190', '6225', '5629', '5911', '6257', '6410', '6304', '6140', '6395', '5817', '6284', '5927', '6010', '5639', '5758', '6098', '6051', '6239', '5979', '6281', '6417', '5903', '5675', '6456', '5795', '5527', '6242', '6387', '6090', '5623', '5890', '6322', '6418', '6110', '6254', '5620', '5537', '5573', '6359', '5612', '6325', '5513', '6044', '5918', '6473', '6148', '6341', '5543', '6448', '6101', '6280', '6222', '6438', '5981', '6152', '5532', '5626', '6491', '5591', '6170', '5953', '6115', '5744', '6179', '5632', '5861', '6421', '6377', '6245', '5852', '5835', '5625', '6289', '5657', '6111', '5768', '5504', '5741', '5606', '6480', '6167', '6096', '6005', '5522', '5974', '6435', '5643', '6290', '5780', '6444', '6083', '5989', '5893', '5539', '6347', '6016', '6210', '6391', '5789', '5967', '5778', '6035', '6476', '5836', '5702', '6003', '5881', '5714', '6002', '6024', '6203', '6119', '5656', '5691', '5944', '5935', '6046', '5763', '6032', '6266', '6250', '5997', '6207', '6092', '6103', '6043', '5999', '5725', '5552', '6007', '6314', '6159', '5844', '5633', '6269', '5720', '5961', '5583', '6446', '5877', '6171', '6199', '6315', '6271', '5756', '6497', '6383', '5704', '5585', '6144', '6384', '6426', '6285', '5611', '6439', '6351', '5574', '5609', '5905', '5538', '5824', '6149', '6036', '5728', '5515', '5929', '6422', '5644', '6366', '5900', '6354', '6121', '5669', '6394', '5703', '5978', '6022', '6085', '5604', '6436', '5688', '6079', '5767', '6378', '5541', '6398', '6265', '6174', '5809', '5819', '6428', '6163', '5660', '6342', '6097', '6128', '6114', '6183', '5685', '5711', '6277', '6089', '5584', '6201', '6305', '6427', '5975', '5642', '6048', '6091', '6130', '5673', '5621', '5993', '5528', '6353', '6345', '6241', '6041', '6137', '6019', '5810', '6385', '6000', '6169', '6298', '6078', '5699', '6358', '5588', '5546', '5678', '5627', '6106', '5785', '6055', '6425', '5906', '5928', '6415', '6182', '6075', '5962', '6052', '6382', '6145', '6129', '6498', '5904', '5779', '5520', '5784', '5783', '6334', '5970', '6205', '5847', '6441', '6066', '6365', '6176', '5849', '6371', '6326', '5686', '5708', '6180', '5814', '5636', '6431', '6405', '6070', '5869', '6077', '5738', '6080', '6496', '5950', '5806', '5782', '5827', '5896', '5598', '5746', '6014', '5742', '6465', '6123', '5964', '6038', '6218', '6020', '5727', '5888', '5530', '6389', '6061', '6483', '6031', '5901', '6393', '6466', '6320', '5666', '5805', '6168', '5986', '5833', '6143', '6181', '5635', '5681', '6447', '6047', '5570', '5898', '5560', '5931', '6126', '6053', '5823', '5566', '5526', '5858', '5548', '6209', '6336', '6011', '5587', '5677', '6082', '5891', '5839', '5874', '5579', '6214', '6397', '5568', '6263', '5991', '5972', '6081', '6490', '6267', '6310', '6248', '5937', '6216', '6333', '5608', '5875', '5551', '6445', '5983', '5848', '5954', '6262', '5762', '6146', '6191', '6206', '6355', '6244', '5868', '5980', '6423', '5922', '6099', '5933', '5614', '5713', '6317', '6312', '5984', '6255', '6187', '6162', '5930', '5690', '5813', '6192', '6400', '5533', '5973', '6150', '6308', '6313', '6125', '6124', '5733', '5951', '5957', '5662', '5765', '5501', '5894', '5797', '5729', '5730', '6403', '6033', '6455', '5895', '6017', '5712', '6219', '5615', '6208', '6198', '6157', '5634', '6408', '5947', '5745', '5971', '6228', '6296', '5843', '5804', '6293', '6202', '5716', '5846', '6461', '5569', '6006', '5603', '6135', '6360', '5717', '6193', '5792', '5775', '5507', '6243', '5872', '6499', '5736', '6158', '6340', '5995', '6311', '6258', '5938', '6479', '5572', '5882', '6195', '6297', '5943', '5825', '6328', '6330', '5679', '6319', '6236', '6485', '6414', '5908', '6001', '5558', '6396', '6486', '5757', '5803', '5700', '5593', '5866', '6433', '5726', '6240', '5830', '6449', '5575', '6478', '5564', '5915', '6034', '6072', '6484', '6375', '5976', '5631', '6138', '5659', '6346', '6118', '6279', '5554', '6283', '5800', '5594', '5701', '6292', '5842', '5518', '6335', '5750', '6196', '5749', '6329', '6369', '5760', '6134', '5661', '6188', '5542', '6127', '6062', '6352', '6270', '5761', '6165', '6376', '6049', '5687', '6364', '5696', '6367', '5990', '5771', '6057', '6094', '5815', '6039', '5759', '5949', '5563', '5590', '5853', '6009', '5907', '5834', '5982', '5664', '6316', '5557', '6067', '6249', '6142', '6357', '5790', '5647', '5808', '5860', '6012']
3
+
4
+ 1000.times do
5
+ x = a1 - a2
6
+ y = a2 - a1
7
+ end
@@ -0,0 +1,7 @@
1
+ a1 = [4768, 4964, 4266, 4872, 4231, 4017, 4565, 4793, 4298, 4135, 4639, 4780, 4237, 4548, 4655, 4153, 4654, 4922, 4563, 4042, 4329, 4699, 4352, 4127, 4544, 4906, 4814, 4948, 4977, 4830, 4405, 4642, 4666, 4402, 4679, 4465, 4401, 4155, 4767, 4510, 4747, 4993, 4508, 4697, 4758, 4133, 4348, 4200, 4442, 4970, 4452, 4041, 4103, 4567, 4937, 4047, 4933, 4121, 4860, 4659, 4221, 4312, 4583, 4473, 4973, 4262, 4630, 4123, 4139, 4289, 4147, 4222, 4050, 4019, 4454, 4253, 4552, 4947, 4725, 4457, 4929, 4021, 4502, 4307, 4576, 4124, 4586, 4610, 4027, 4572, 4926, 4753, 4185, 4382, 4394, 4923, 4186, 4254, 4012, 4417, 4556, 4349, 4550, 4330, 4938, 4985, 4778, 4716, 4924, 4045, 4358, 4189, 4591, 4213, 4851, 4825, 4260, 4198, 4342, 4824, 4333, 4244, 4752, 4994, 4488, 4532, 4082, 4595, 4098, 4436, 4540, 4267, 4407, 4998, 4751, 4535, 4861, 4819, 4419, 4031, 4029, 4453, 4698, 4965, 4450, 4668, 4036, 4300, 4519, 4281, 4981, 4818, 4939, 4378, 4140, 4841, 4249, 4290, 4388, 4878, 4884, 4235, 4515, 4638, 4410, 4054, 4383, 4238, 4870, 4295, 4804, 4308, 4614, 4105, 4053, 4446, 4757, 4971, 4637, 4831, 4193, 4912, 4000, 4187, 4606, 4566, 4169, 4641, 4749, 4729, 4928, 4601, 4949, 4210, 4313, 4647, 4495, 4460, 4621, 4605, 4694, 4317, 4226, 4263, 4016, 4997, 4940, 4715, 4907, 4620, 4934, 4996, 4955, 4688, 4304, 4220, 4882, 4772, 4536, 4815, 4693, 4469, 4276, 4409, 4071, 4224, 4020, 4629, 4865, 4813, 4366, 4622, 4129, 4533, 4634, 4564, 4087, 4386, 4161, 4265, 4711, 4009, 4376, 4781, 4837, 4112, 4915, 4592, 4658, 4025, 4987, 4291, 4477, 4503, 4437, 4111, 4707, 4879, 4611, 4549, 4078, 4044, 4853, 4835, 4463, 4577, 4008, 4233, 4741, 4384, 4225, 4024, 4726, 4743, 4160, 4180, 4722, 4609, 4114, 4834, 4742, 4662, 4984, 4299, 4060, 4498, 4755, 4320, 4874, 4528, 4216, 4852, 4951, 4958, 4283, 4239, 4476, 4644, 4143, 4104, 4455, 4126, 4950, 4663, 4013, 4931, 4850, 4242, 4130, 4623, 4871, 4014, 4854, 4293, 4512, 4166, 4740, 4735, 4150, 4651, 4172, 4836, 4530, 4664, 4429, 4511, 4558, 4676, 4085, 4074, 4580, 4794, 4379, 4310, 4817, 4966, 4848, 4202, 4336, 4608, 4351, 4396, 4652, 4033, 4188, 4431, 4916, 4259, 4607, 4816, 4810, 4627, 4527, 4560, 4728, 4589, 4274, 4809, 4790, 4398, 4414, 4516, 4581, 4919, 4665, 4331, 4978, 4543, 4877, 4974, 4284, 4004, 4177, 4466, 4116, 4217, 4901, 4372, 4137, 4806, 4264, 4497, 4294, 4787, 4212, 4215, 4115, 4782, 4739, 4821, 4125, 4505, 4230, 4399, 4395, 4079, 4867, 4381, 4706, 4695, 4404, 4691, 4075, 4353, 4301, 4876, 4731, 4523, 4246, 4529, 4412, 4784, 4449, 4229, 4616, 4158, 4002, 4318, 4377, 4205, 4911, 4777, 4792, 4271, 4763, 4141, 4287, 4890, 4279, 4829, 4646, 4840, 4089, 4880, 4067, 4918, 4059, 4109, 4164, 4863, 4883, 4909, 4361, 4174, 4960, 4302, 4003, 4236, 4846, 4034, 4324, 4513, 4765, 4596, 4900, 4007, 4603, 4474, 4439, 4805, 4015, 4496, 4953, 4363, 4551, 4459, 4063, 4983, 4881, 4365, 4604, 4587, 4798, 4005, 4163, 4421, 4471, 4826, 4144, 4635, 4600, 4913, 4640, 4247, 4766, 4779, 4280, 4391, 4891, 4636, 4546, 4683, 4181, 4081, 4862, 4458, 4037, 4321, 4786, 4717, 4628, 4154, 4326, 4032, 4873, 4151, 4905, 4270, 4156, 4733, 4980, 4866, 4325, 4055, 4467, 4480, 4286, 4191, 4762, 4322, 4574, 4022, 4056, 4770, 4451, 4448, 4845, 4341, 4433, 4245, 4684, 4671, 4093, 4920, 4272, 4745, 4799, 4761, 4250, 4578, 4347, 4499, 4526, 4369, 4162, 4537, 4434, 4893, 4120, 4962, 4667, 4525, 4091, 4462, 4182, 4738, 4935, 4173, 4490, 4571, 4424, 4894, 4051, 4214, 4823, 4096, 4206, 4598, 4943, 4701, 4649, 4807, 4107, 4435, 4456, 4083, 4612, 4721, 4472, 4146, 4925, 4340, 4789, 4277, 4375, 4211, 4427, 4547, 4690, 4613, 4727, 4006, 4203, 4430, 4223, 4039, 4932, 4296, 4108, 4278, 4832, 4422, 4917, 4470, 4183, 4887, 4076, 4485, 4597, 4443, 4257, 4991, 4944, 4196, 4672, 4397, 4097, 4119, 4077, 4773, 4602, 4538, 4479, 4968, 4159, 4539, 4956, 4710, 4812, 4902, 4569, 4954, 4385, 4128, 4936, 4416, 4148, 4632, 4759, 4117, 4896, 4392, 4864, 4316, 4132, 4319, 4969, 4175, 4484, 4903, 4910, 4350, 4332, 4952, 4176, 4594, 4709, 4509, 4178, 4167, 4545, 4857, 4617, 4501, 4859, 4207, 4275, 4687, 4049, 4579, 4046, 4921, 4113, 4898, 4681, 4052, 4415, 4064, 4184, 4895, 4744, 4685, 4084, 4305, 4899, 4559, 4208, 4057, 4507, 4258, 4355, 4086, 4373, 4323, 4541, 4297, 4483, 4889, 4531, 4327, 4441, 4914, 4303, 4677, 4445, 4802, 4343, 4585, 4338, 4524, 4590, 4624, 4288, 4704, 4134, 4043, 4720, 4058, 4328, 4095, 4026, 4423, 4657, 4118, 4633, 4487, 4822, 4904, 4255, 4001, 4387, 4500, 4190, 4686, 4995, 4661, 4783, 4992, 4165, 4065, 4927, 4306, 4856, 4292, 4420, 4963, 4468, 4240, 4724, 4432, 4447, 4518, 4028, 4670, 4339, 4771, 4018, 4489, 4110, 4708, 4945, 4136, 4492, 4930, 4090, 4734, 4886, 4542, 4227, 4486, 4491, 4713, 4986, 4068, 4048, 4975, 4570, 4842, 4475, 4131, 4555, 4428, 4776, 4101, 4273, 4811, 4345, 5000, 4653, 4256, 4209, 4769, 4946, 4561, 4080, 4461, 4820, 4311, 4959, 4750, 4795, 4748, 4368, 4506, 4335, 4346, 4568, 4675, 4692, 4774, 4413, 4370, 4723, 4521, 4885, 4678, 4897, 4066, 4674, 4106, 4626, 4389, 4204, 4839, 4023, 4712, 4145, 4035, 4357, 4756, 4648, 4972, 4157, 4406, 4615, 4061, 4219, 4791, 4660, 4073, 4356, 4072, 4599, 4359, 4094, 4673, 4696, 4796, 4282, 4714, 4522, 4736, 4775, 4760, 4400, 4847, 4228, 4803, 4908, 4732, 4645, 4122, 4218, 4478, 4941, 4892, 4364, 4403, 4152, 4444, 4360, 4354, 4241, 4494, 4367, 4808, 4261, 4088, 4573, 4554, 4248, 4371, 4393, 4268, 4201, 4038, 4788, 4593, 4040, 4801, 4582, 4309, 4976, 4374, 4869, 4380, 4514, 4243, 4362, 4849, 4680, 4888, 4764, 4618, 4838, 4828, 4643, 4010, 4827, 4957, 4099, 4875, 4843, 4737, 4102, 4979, 4011, 4504, 4440, 4746, 4557, 4426, 4553, 4656, 4868, 4689, 4988, 4703, 4967, 4069, 4619, 4334, 4669, 4785, 4464, 4562, 4961, 4625, 4754, 4797, 4481, 4705, 4199, 4337, 4062, 4138, 4702, 4534, 4168, 4418, 4092, 4682, 4520, 4030, 4171, 4650, 4858, 4411, 4999, 4252, 4197, 4170, 4942, 4631, 4990, 4179, 4285, 4700, 4482, 4575, 4800, 4070, 4251, 4344, 4982, 4719, 4390, 4149, 4100, 4194, 4269, 4855, 4314, 4718, 4232, 4730, 4438, 4588, 4195, 4192, 4493, 4517, 4833, 4234, 4989, 4315, 4844, 4142, 4408, 4584, 4425]
2
+ a2 = [5650, 6274, 5600, 6197, 6324, 5850, 5630, 5955, 6343, 6233, 6065, 5637, 5561, 6500, 5565, 5845, 5916, 6229, 5857, 5747, 6419, 5936, 6363, 5773, 6399, 6350, 6172, 6494, 6042, 6013, 6132, 5887, 6215, 5837, 5663, 5695, 6453, 5698, 5941, 6186, 5902, 6116, 6487, 5945, 5694, 6392, 5605, 5524, 5884, 6470, 5503, 6458, 5910, 6469, 5645, 5540, 5505, 6136, 5715, 6306, 6164, 6406, 6120, 5919, 5592, 5595, 5684, 6464, 5958, 6060, 5862, 5672, 5670, 6211, 6321, 5654, 5516, 6278, 6084, 5867, 5577, 6379, 6139, 6472, 6251, 6460, 5831, 6133, 5772, 5788, 6260, 5580, 5912, 5865, 5616, 6153, 5567, 5709, 5963, 6489, 6344, 6113, 6409, 5987, 6141, 5508, 6093, 5723, 5883, 5829, 6086, 5774, 6026, 5601, 5859, 5517, 6252, 6412, 6481, 5828, 5556, 6234, 6416, 5562, 5992, 6045, 5559, 6309, 6109, 6273, 6407, 5743, 6338, 5706, 5719, 6430, 5693, 6247, 6450, 5710, 6015, 6429, 5607, 6056, 6495, 5613, 6370, 5671, 5751, 6237, 5748, 6217, 5977, 6194, 5511, 5599, 5624, 5923, 6452, 5841, 5798, 6025, 5879, 6420, 6177, 6294, 5871, 6105, 5822, 5770, 5724, 5754, 6063, 6291, 5529, 5921, 6018, 5856, 6058, 6372, 6361, 5889, 5899, 5555, 6454, 5960, 6411, 5512, 6069, 5913, 5502, 5821, 5965, 6475, 5697, 5523, 5676, 6076, 5648, 5769, 5948, 6493, 5683, 6200, 5651, 5653, 5885, 5667, 6404, 6432, 6226, 6102, 6213, 5796, 6462, 5811, 5764, 6100, 6073, 6117, 6147, 6373, 5777, 6221, 6184, 5553, 5731, 5536, 6288, 6204, 5586, 5707, 5753, 6362, 5602, 5924, 6231, 5832, 6264, 5968, 5597, 6467, 5946, 6212, 6275, 5509, 6156, 5582, 5816, 5909, 5791, 5952, 6442, 6474, 6023, 5939, 5649, 5531, 6259, 5994, 6388, 5776, 5641, 6068, 6477, 6220, 6286, 5897, 5873, 6381, 6339, 5652, 5589, 6302, 6227, 5544, 5793, 5892, 6488, 5506, 5876, 5781, 5576, 5521, 6331, 6131, 5617, 6332, 5801, 6107, 6463, 6457, 5802, 5737, 6104, 5550, 6253, 6368, 6050, 5766, 5534, 6224, 6401, 6303, 5786, 5735, 6282, 5596, 6459, 6122, 6492, 5854, 5988, 5549, 6318, 5840, 6178, 5640, 5752, 6040, 5665, 5755, 5535, 5721, 6088, 5914, 5689, 6256, 5838, 6021, 5674, 6028, 6223, 6189, 5886, 6232, 5878, 6424, 6413, 6482, 6155, 5638, 6160, 6440, 5571, 6037, 6323, 5959, 6468, 5826, 5682, 6327, 5514, 6390, 5510, 5870, 6108, 5722, 5934, 5998, 6402, 6348, 5718, 6471, 5942, 6029, 6185, 5926, 6386, 5940, 6443, 6230, 5855, 6349, 6059, 6276, 5740, 5996, 6238, 6287, 5812, 5578, 5658, 5525, 6380, 6095, 6112, 5925, 6246, 5985, 5692, 6261, 5734, 6337, 5966, 6004, 6151, 6161, 5917, 5863, 6300, 5732, 5547, 5851, 6295, 5787, 5864, 5545, 6356, 6175, 6154, 5680, 5799, 5500, 5969, 6301, 5622, 6071, 6030, 5655, 6299, 5519, 5818, 6064, 6054, 5646, 6166, 6272, 5610, 5705, 5956, 5820, 5920, 5581, 6268, 6027, 6074, 6087, 5668, 5794, 5880, 6173, 6434, 6374, 6008, 5807, 5739, 6307, 6437, 5619, 6451, 5618, 5628, 5932, 6235, 6190, 6225, 5629, 5911, 6257, 6410, 6304, 6140, 6395, 5817, 6284, 5927, 6010, 5639, 5758, 6098, 6051, 6239, 5979, 6281, 6417, 5903, 5675, 6456, 5795, 5527, 6242, 6387, 6090, 5623, 5890, 6322, 6418, 6110, 6254, 5620, 5537, 5573, 6359, 5612, 6325, 5513, 6044, 5918, 6473, 6148, 6341, 5543, 6448, 6101, 6280, 6222, 6438, 5981, 6152, 5532, 5626, 6491, 5591, 6170, 5953, 6115, 5744, 6179, 5632, 5861, 6421, 6377, 6245, 5852, 5835, 5625, 6289, 5657, 6111, 5768, 5504, 5741, 5606, 6480, 6167, 6096, 6005, 5522, 5974, 6435, 5643, 6290, 5780, 6444, 6083, 5989, 5893, 5539, 6347, 6016, 6210, 6391, 5789, 5967, 5778, 6035, 6476, 5836, 5702, 6003, 5881, 5714, 6002, 6024, 6203, 6119, 5656, 5691, 5944, 5935, 6046, 5763, 6032, 6266, 6250, 5997, 6207, 6092, 6103, 6043, 5999, 5725, 5552, 6007, 6314, 6159, 5844, 5633, 6269, 5720, 5961, 5583, 6446, 5877, 6171, 6199, 6315, 6271, 5756, 6497, 6383, 5704, 5585, 6144, 6384, 6426, 6285, 5611, 6439, 6351, 5574, 5609, 5905, 5538, 5824, 6149, 6036, 5728, 5515, 5929, 6422, 5644, 6366, 5900, 6354, 6121, 5669, 6394, 5703, 5978, 6022, 6085, 5604, 6436, 5688, 6079, 5767, 6378, 5541, 6398, 6265, 6174, 5809, 5819, 6428, 6163, 5660, 6342, 6097, 6128, 6114, 6183, 5685, 5711, 6277, 6089, 5584, 6201, 6305, 6427, 5975, 5642, 6048, 6091, 6130, 5673, 5621, 5993, 5528, 6353, 6345, 6241, 6041, 6137, 6019, 5810, 6385, 6000, 6169, 6298, 6078, 5699, 6358, 5588, 5546, 5678, 5627, 6106, 5785, 6055, 6425, 5906, 5928, 6415, 6182, 6075, 5962, 6052, 6382, 6145, 6129, 6498, 5904, 5779, 5520, 5784, 5783, 6334, 5970, 6205, 5847, 6441, 6066, 6365, 6176, 5849, 6371, 6326, 5686, 5708, 6180, 5814, 5636, 6431, 6405, 6070, 5869, 6077, 5738, 6080, 6496, 5950, 5806, 5782, 5827, 5896, 5598, 5746, 6014, 5742, 6465, 6123, 5964, 6038, 6218, 6020, 5727, 5888, 5530, 6389, 6061, 6483, 6031, 5901, 6393, 6466, 6320, 5666, 5805, 6168, 5986, 5833, 6143, 6181, 5635, 5681, 6447, 6047, 5570, 5898, 5560, 5931, 6126, 6053, 5823, 5566, 5526, 5858, 5548, 6209, 6336, 6011, 5587, 5677, 6082, 5891, 5839, 5874, 5579, 6214, 6397, 5568, 6263, 5991, 5972, 6081, 6490, 6267, 6310, 6248, 5937, 6216, 6333, 5608, 5875, 5551, 6445, 5983, 5848, 5954, 6262, 5762, 6146, 6191, 6206, 6355, 6244, 5868, 5980, 6423, 5922, 6099, 5933, 5614, 5713, 6317, 6312, 5984, 6255, 6187, 6162, 5930, 5690, 5813, 6192, 6400, 5533, 5973, 6150, 6308, 6313, 6125, 6124, 5733, 5951, 5957, 5662, 5765, 5501, 5894, 5797, 5729, 5730, 6403, 6033, 6455, 5895, 6017, 5712, 6219, 5615, 6208, 6198, 6157, 5634, 6408, 5947, 5745, 5971, 6228, 6296, 5843, 5804, 6293, 6202, 5716, 5846, 6461, 5569, 6006, 5603, 6135, 6360, 5717, 6193, 5792, 5775, 5507, 6243, 5872, 6499, 5736, 6158, 6340, 5995, 6311, 6258, 5938, 6479, 5572, 5882, 6195, 6297, 5943, 5825, 6328, 6330, 5679, 6319, 6236, 6485, 6414, 5908, 6001, 5558, 6396, 6486, 5757, 5803, 5700, 5593, 5866, 6433, 5726, 6240, 5830, 6449, 5575, 6478, 5564, 5915, 6034, 6072, 6484, 6375, 5976, 5631, 6138, 5659, 6346, 6118, 6279, 5554, 6283, 5800, 5594, 5701, 6292, 5842, 5518, 6335, 5750, 6196, 5749, 6329, 6369, 5760, 6134, 5661, 6188, 5542, 6127, 6062, 6352, 6270, 5761, 6165, 6376, 6049, 5687, 6364, 5696, 6367, 5990, 5771, 6057, 6094, 5815, 6039, 5759, 5949, 5563, 5590, 5853, 6009, 5907, 5834, 5982, 5664, 6316, 5557, 6067, 6249, 6142, 6357, 5790, 5647, 5808, 5860, 6012]
3
+
4
+ 1000.times do
5
+ x = a1 | a2
6
+ y = a2 | a1
7
+ end
@@ -0,0 +1,7 @@
1
+ a1 = [Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new]
2
+ a2 = [Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new]
3
+
4
+ 1000.times do
5
+ x = a1 | a2
6
+ y = a2 | a1
7
+ end
@@ -0,0 +1,7 @@
1
+ a1 = ['4768', '4964', '4266', '4872', '4231', '4017', '4565', '4793', '4298', '4135', '4639', '4780', '4237', '4548', '4655', '4153', '4654', '4922', '4563', '4042', '4329', '4699', '4352', '4127', '4544', '4906', '4814', '4948', '4977', '4830', '4405', '4642', '4666', '4402', '4679', '4465', '4401', '4155', '4767', '4510', '4747', '4993', '4508', '4697', '4758', '4133', '4348', '4200', '4442', '4970', '4452', '4041', '4103', '4567', '4937', '4047', '4933', '4121', '4860', '4659', '4221', '4312', '4583', '4473', '4973', '4262', '4630', '4123', '4139', '4289', '4147', '4222', '4050', '4019', '4454', '4253', '4552', '4947', '4725', '4457', '4929', '4021', '4502', '4307', '4576', '4124', '4586', '4610', '4027', '4572', '4926', '4753', '4185', '4382', '4394', '4923', '4186', '4254', '4012', '4417', '4556', '4349', '4550', '4330', '4938', '4985', '4778', '4716', '4924', '4045', '4358', '4189', '4591', '4213', '4851', '4825', '4260', '4198', '4342', '4824', '4333', '4244', '4752', '4994', '4488', '4532', '4082', '4595', '4098', '4436', '4540', '4267', '4407', '4998', '4751', '4535', '4861', '4819', '4419', '4031', '4029', '4453', '4698', '4965', '4450', '4668', '4036', '4300', '4519', '4281', '4981', '4818', '4939', '4378', '4140', '4841', '4249', '4290', '4388', '4878', '4884', '4235', '4515', '4638', '4410', '4054', '4383', '4238', '4870', '4295', '4804', '4308', '4614', '4105', '4053', '4446', '4757', '4971', '4637', '4831', '4193', '4912', '4000', '4187', '4606', '4566', '4169', '4641', '4749', '4729', '4928', '4601', '4949', '4210', '4313', '4647', '4495', '4460', '4621', '4605', '4694', '4317', '4226', '4263', '4016', '4997', '4940', '4715', '4907', '4620', '4934', '4996', '4955', '4688', '4304', '4220', '4882', '4772', '4536', '4815', '4693', '4469', '4276', '4409', '4071', '4224', '4020', '4629', '4865', '4813', '4366', '4622', '4129', '4533', '4634', '4564', '4087', '4386', '4161', '4265', '4711', '4009', '4376', '4781', '4837', '4112', '4915', '4592', '4658', '4025', '4987', '4291', '4477', '4503', '4437', '4111', '4707', '4879', '4611', '4549', '4078', '4044', '4853', '4835', '4463', '4577', '4008', '4233', '4741', '4384', '4225', '4024', '4726', '4743', '4160', '4180', '4722', '4609', '4114', '4834', '4742', '4662', '4984', '4299', '4060', '4498', '4755', '4320', '4874', '4528', '4216', '4852', '4951', '4958', '4283', '4239', '4476', '4644', '4143', '4104', '4455', '4126', '4950', '4663', '4013', '4931', '4850', '4242', '4130', '4623', '4871', '4014', '4854', '4293', '4512', '4166', '4740', '4735', '4150', '4651', '4172', '4836', '4530', '4664', '4429', '4511', '4558', '4676', '4085', '4074', '4580', '4794', '4379', '4310', '4817', '4966', '4848', '4202', '4336', '4608', '4351', '4396', '4652', '4033', '4188', '4431', '4916', '4259', '4607', '4816', '4810', '4627', '4527', '4560', '4728', '4589', '4274', '4809', '4790', '4398', '4414', '4516', '4581', '4919', '4665', '4331', '4978', '4543', '4877', '4974', '4284', '4004', '4177', '4466', '4116', '4217', '4901', '4372', '4137', '4806', '4264', '4497', '4294', '4787', '4212', '4215', '4115', '4782', '4739', '4821', '4125', '4505', '4230', '4399', '4395', '4079', '4867', '4381', '4706', '4695', '4404', '4691', '4075', '4353', '4301', '4876', '4731', '4523', '4246', '4529', '4412', '4784', '4449', '4229', '4616', '4158', '4002', '4318', '4377', '4205', '4911', '4777', '4792', '4271', '4763', '4141', '4287', '4890', '4279', '4829', '4646', '4840', '4089', '4880', '4067', '4918', '4059', '4109', '4164', '4863', '4883', '4909', '4361', '4174', '4960', '4302', '4003', '4236', '4846', '4034', '4324', '4513', '4765', '4596', '4900', '4007', '4603', '4474', '4439', '4805', '4015', '4496', '4953', '4363', '4551', '4459', '4063', '4983', '4881', '4365', '4604', '4587', '4798', '4005', '4163', '4421', '4471', '4826', '4144', '4635', '4600', '4913', '4640', '4247', '4766', '4779', '4280', '4391', '4891', '4636', '4546', '4683', '4181', '4081', '4862', '4458', '4037', '4321', '4786', '4717', '4628', '4154', '4326', '4032', '4873', '4151', '4905', '4270', '4156', '4733', '4980', '4866', '4325', '4055', '4467', '4480', '4286', '4191', '4762', '4322', '4574', '4022', '4056', '4770', '4451', '4448', '4845', '4341', '4433', '4245', '4684', '4671', '4093', '4920', '4272', '4745', '4799', '4761', '4250', '4578', '4347', '4499', '4526', '4369', '4162', '4537', '4434', '4893', '4120', '4962', '4667', '4525', '4091', '4462', '4182', '4738', '4935', '4173', '4490', '4571', '4424', '4894', '4051', '4214', '4823', '4096', '4206', '4598', '4943', '4701', '4649', '4807', '4107', '4435', '4456', '4083', '4612', '4721', '4472', '4146', '4925', '4340', '4789', '4277', '4375', '4211', '4427', '4547', '4690', '4613', '4727', '4006', '4203', '4430', '4223', '4039', '4932', '4296', '4108', '4278', '4832', '4422', '4917', '4470', '4183', '4887', '4076', '4485', '4597', '4443', '4257', '4991', '4944', '4196', '4672', '4397', '4097', '4119', '4077', '4773', '4602', '4538', '4479', '4968', '4159', '4539', '4956', '4710', '4812', '4902', '4569', '4954', '4385', '4128', '4936', '4416', '4148', '4632', '4759', '4117', '4896', '4392', '4864', '4316', '4132', '4319', '4969', '4175', '4484', '4903', '4910', '4350', '4332', '4952', '4176', '4594', '4709', '4509', '4178', '4167', '4545', '4857', '4617', '4501', '4859', '4207', '4275', '4687', '4049', '4579', '4046', '4921', '4113', '4898', '4681', '4052', '4415', '4064', '4184', '4895', '4744', '4685', '4084', '4305', '4899', '4559', '4208', '4057', '4507', '4258', '4355', '4086', '4373', '4323', '4541', '4297', '4483', '4889', '4531', '4327', '4441', '4914', '4303', '4677', '4445', '4802', '4343', '4585', '4338', '4524', '4590', '4624', '4288', '4704', '4134', '4043', '4720', '4058', '4328', '4095', '4026', '4423', '4657', '4118', '4633', '4487', '4822', '4904', '4255', '4001', '4387', '4500', '4190', '4686', '4995', '4661', '4783', '4992', '4165', '4065', '4927', '4306', '4856', '4292', '4420', '4963', '4468', '4240', '4724', '4432', '4447', '4518', '4028', '4670', '4339', '4771', '4018', '4489', '4110', '4708', '4945', '4136', '4492', '4930', '4090', '4734', '4886', '4542', '4227', '4486', '4491', '4713', '4986', '4068', '4048', '4975', '4570', '4842', '4475', '4131', '4555', '4428', '4776', '4101', '4273', '4811', '4345', '5000', '4653', '4256', '4209', '4769', '4946', '4561', '4080', '4461', '4820', '4311', '4959', '4750', '4795', '4748', '4368', '4506', '4335', '4346', '4568', '4675', '4692', '4774', '4413', '4370', '4723', '4521', '4885', '4678', '4897', '4066', '4674', '4106', '4626', '4389', '4204', '4839', '4023', '4712', '4145', '4035', '4357', '4756', '4648', '4972', '4157', '4406', '4615', '4061', '4219', '4791', '4660', '4073', '4356', '4072', '4599', '4359', '4094', '4673', '4696', '4796', '4282', '4714', '4522', '4736', '4775', '4760', '4400', '4847', '4228', '4803', '4908', '4732', '4645', '4122', '4218', '4478', '4941', '4892', '4364', '4403', '4152', '4444', '4360', '4354', '4241', '4494', '4367', '4808', '4261', '4088', '4573', '4554', '4248', '4371', '4393', '4268', '4201', '4038', '4788', '4593', '4040', '4801', '4582', '4309', '4976', '4374', '4869', '4380', '4514', '4243', '4362', '4849', '4680', '4888', '4764', '4618', '4838', '4828', '4643', '4010', '4827', '4957', '4099', '4875', '4843', '4737', '4102', '4979', '4011', '4504', '4440', '4746', '4557', '4426', '4553', '4656', '4868', '4689', '4988', '4703', '4967', '4069', '4619', '4334', '4669', '4785', '4464', '4562', '4961', '4625', '4754', '4797', '4481', '4705', '4199', '4337', '4062', '4138', '4702', '4534', '4168', '4418', '4092', '4682', '4520', '4030', '4171', '4650', '4858', '4411', '4999', '4252', '4197', '4170', '4942', '4631', '4990', '4179', '4285', '4700', '4482', '4575', '4800', '4070', '4251', '4344', '4982', '4719', '4390', '4149', '4100', '4194', '4269', '4855', '4314', '4718', '4232', '4730', '4438', '4588', '4195', '4192', '4493', '4517', '4833', '4234', '4989', '4315', '4844', '4142', '4408', '4584', '4425']
2
+ a2 = ['5650', '6274', '5600', '6197', '6324', '5850', '5630', '5955', '6343', '6233', '6065', '5637', '5561', '6500', '5565', '5845', '5916', '6229', '5857', '5747', '6419', '5936', '6363', '5773', '6399', '6350', '6172', '6494', '6042', '6013', '6132', '5887', '6215', '5837', '5663', '5695', '6453', '5698', '5941', '6186', '5902', '6116', '6487', '5945', '5694', '6392', '5605', '5524', '5884', '6470', '5503', '6458', '5910', '6469', '5645', '5540', '5505', '6136', '5715', '6306', '6164', '6406', '6120', '5919', '5592', '5595', '5684', '6464', '5958', '6060', '5862', '5672', '5670', '6211', '6321', '5654', '5516', '6278', '6084', '5867', '5577', '6379', '6139', '6472', '6251', '6460', '5831', '6133', '5772', '5788', '6260', '5580', '5912', '5865', '5616', '6153', '5567', '5709', '5963', '6489', '6344', '6113', '6409', '5987', '6141', '5508', '6093', '5723', '5883', '5829', '6086', '5774', '6026', '5601', '5859', '5517', '6252', '6412', '6481', '5828', '5556', '6234', '6416', '5562', '5992', '6045', '5559', '6309', '6109', '6273', '6407', '5743', '6338', '5706', '5719', '6430', '5693', '6247', '6450', '5710', '6015', '6429', '5607', '6056', '6495', '5613', '6370', '5671', '5751', '6237', '5748', '6217', '5977', '6194', '5511', '5599', '5624', '5923', '6452', '5841', '5798', '6025', '5879', '6420', '6177', '6294', '5871', '6105', '5822', '5770', '5724', '5754', '6063', '6291', '5529', '5921', '6018', '5856', '6058', '6372', '6361', '5889', '5899', '5555', '6454', '5960', '6411', '5512', '6069', '5913', '5502', '5821', '5965', '6475', '5697', '5523', '5676', '6076', '5648', '5769', '5948', '6493', '5683', '6200', '5651', '5653', '5885', '5667', '6404', '6432', '6226', '6102', '6213', '5796', '6462', '5811', '5764', '6100', '6073', '6117', '6147', '6373', '5777', '6221', '6184', '5553', '5731', '5536', '6288', '6204', '5586', '5707', '5753', '6362', '5602', '5924', '6231', '5832', '6264', '5968', '5597', '6467', '5946', '6212', '6275', '5509', '6156', '5582', '5816', '5909', '5791', '5952', '6442', '6474', '6023', '5939', '5649', '5531', '6259', '5994', '6388', '5776', '5641', '6068', '6477', '6220', '6286', '5897', '5873', '6381', '6339', '5652', '5589', '6302', '6227', '5544', '5793', '5892', '6488', '5506', '5876', '5781', '5576', '5521', '6331', '6131', '5617', '6332', '5801', '6107', '6463', '6457', '5802', '5737', '6104', '5550', '6253', '6368', '6050', '5766', '5534', '6224', '6401', '6303', '5786', '5735', '6282', '5596', '6459', '6122', '6492', '5854', '5988', '5549', '6318', '5840', '6178', '5640', '5752', '6040', '5665', '5755', '5535', '5721', '6088', '5914', '5689', '6256', '5838', '6021', '5674', '6028', '6223', '6189', '5886', '6232', '5878', '6424', '6413', '6482', '6155', '5638', '6160', '6440', '5571', '6037', '6323', '5959', '6468', '5826', '5682', '6327', '5514', '6390', '5510', '5870', '6108', '5722', '5934', '5998', '6402', '6348', '5718', '6471', '5942', '6029', '6185', '5926', '6386', '5940', '6443', '6230', '5855', '6349', '6059', '6276', '5740', '5996', '6238', '6287', '5812', '5578', '5658', '5525', '6380', '6095', '6112', '5925', '6246', '5985', '5692', '6261', '5734', '6337', '5966', '6004', '6151', '6161', '5917', '5863', '6300', '5732', '5547', '5851', '6295', '5787', '5864', '5545', '6356', '6175', '6154', '5680', '5799', '5500', '5969', '6301', '5622', '6071', '6030', '5655', '6299', '5519', '5818', '6064', '6054', '5646', '6166', '6272', '5610', '5705', '5956', '5820', '5920', '5581', '6268', '6027', '6074', '6087', '5668', '5794', '5880', '6173', '6434', '6374', '6008', '5807', '5739', '6307', '6437', '5619', '6451', '5618', '5628', '5932', '6235', '6190', '6225', '5629', '5911', '6257', '6410', '6304', '6140', '6395', '5817', '6284', '5927', '6010', '5639', '5758', '6098', '6051', '6239', '5979', '6281', '6417', '5903', '5675', '6456', '5795', '5527', '6242', '6387', '6090', '5623', '5890', '6322', '6418', '6110', '6254', '5620', '5537', '5573', '6359', '5612', '6325', '5513', '6044', '5918', '6473', '6148', '6341', '5543', '6448', '6101', '6280', '6222', '6438', '5981', '6152', '5532', '5626', '6491', '5591', '6170', '5953', '6115', '5744', '6179', '5632', '5861', '6421', '6377', '6245', '5852', '5835', '5625', '6289', '5657', '6111', '5768', '5504', '5741', '5606', '6480', '6167', '6096', '6005', '5522', '5974', '6435', '5643', '6290', '5780', '6444', '6083', '5989', '5893', '5539', '6347', '6016', '6210', '6391', '5789', '5967', '5778', '6035', '6476', '5836', '5702', '6003', '5881', '5714', '6002', '6024', '6203', '6119', '5656', '5691', '5944', '5935', '6046', '5763', '6032', '6266', '6250', '5997', '6207', '6092', '6103', '6043', '5999', '5725', '5552', '6007', '6314', '6159', '5844', '5633', '6269', '5720', '5961', '5583', '6446', '5877', '6171', '6199', '6315', '6271', '5756', '6497', '6383', '5704', '5585', '6144', '6384', '6426', '6285', '5611', '6439', '6351', '5574', '5609', '5905', '5538', '5824', '6149', '6036', '5728', '5515', '5929', '6422', '5644', '6366', '5900', '6354', '6121', '5669', '6394', '5703', '5978', '6022', '6085', '5604', '6436', '5688', '6079', '5767', '6378', '5541', '6398', '6265', '6174', '5809', '5819', '6428', '6163', '5660', '6342', '6097', '6128', '6114', '6183', '5685', '5711', '6277', '6089', '5584', '6201', '6305', '6427', '5975', '5642', '6048', '6091', '6130', '5673', '5621', '5993', '5528', '6353', '6345', '6241', '6041', '6137', '6019', '5810', '6385', '6000', '6169', '6298', '6078', '5699', '6358', '5588', '5546', '5678', '5627', '6106', '5785', '6055', '6425', '5906', '5928', '6415', '6182', '6075', '5962', '6052', '6382', '6145', '6129', '6498', '5904', '5779', '5520', '5784', '5783', '6334', '5970', '6205', '5847', '6441', '6066', '6365', '6176', '5849', '6371', '6326', '5686', '5708', '6180', '5814', '5636', '6431', '6405', '6070', '5869', '6077', '5738', '6080', '6496', '5950', '5806', '5782', '5827', '5896', '5598', '5746', '6014', '5742', '6465', '6123', '5964', '6038', '6218', '6020', '5727', '5888', '5530', '6389', '6061', '6483', '6031', '5901', '6393', '6466', '6320', '5666', '5805', '6168', '5986', '5833', '6143', '6181', '5635', '5681', '6447', '6047', '5570', '5898', '5560', '5931', '6126', '6053', '5823', '5566', '5526', '5858', '5548', '6209', '6336', '6011', '5587', '5677', '6082', '5891', '5839', '5874', '5579', '6214', '6397', '5568', '6263', '5991', '5972', '6081', '6490', '6267', '6310', '6248', '5937', '6216', '6333', '5608', '5875', '5551', '6445', '5983', '5848', '5954', '6262', '5762', '6146', '6191', '6206', '6355', '6244', '5868', '5980', '6423', '5922', '6099', '5933', '5614', '5713', '6317', '6312', '5984', '6255', '6187', '6162', '5930', '5690', '5813', '6192', '6400', '5533', '5973', '6150', '6308', '6313', '6125', '6124', '5733', '5951', '5957', '5662', '5765', '5501', '5894', '5797', '5729', '5730', '6403', '6033', '6455', '5895', '6017', '5712', '6219', '5615', '6208', '6198', '6157', '5634', '6408', '5947', '5745', '5971', '6228', '6296', '5843', '5804', '6293', '6202', '5716', '5846', '6461', '5569', '6006', '5603', '6135', '6360', '5717', '6193', '5792', '5775', '5507', '6243', '5872', '6499', '5736', '6158', '6340', '5995', '6311', '6258', '5938', '6479', '5572', '5882', '6195', '6297', '5943', '5825', '6328', '6330', '5679', '6319', '6236', '6485', '6414', '5908', '6001', '5558', '6396', '6486', '5757', '5803', '5700', '5593', '5866', '6433', '5726', '6240', '5830', '6449', '5575', '6478', '5564', '5915', '6034', '6072', '6484', '6375', '5976', '5631', '6138', '5659', '6346', '6118', '6279', '5554', '6283', '5800', '5594', '5701', '6292', '5842', '5518', '6335', '5750', '6196', '5749', '6329', '6369', '5760', '6134', '5661', '6188', '5542', '6127', '6062', '6352', '6270', '5761', '6165', '6376', '6049', '5687', '6364', '5696', '6367', '5990', '5771', '6057', '6094', '5815', '6039', '5759', '5949', '5563', '5590', '5853', '6009', '5907', '5834', '5982', '5664', '6316', '5557', '6067', '6249', '6142', '6357', '5790', '5647', '5808', '5860', '6012']
3
+
4
+ 1000.times do
5
+ x = a1 | a2
6
+ y = a2 | a1
7
+ end
@@ -0,0 +1,5 @@
1
+ a = [4768, 4964, 4266, 4872, 4231, 4017, 4565, 4793, 4298, 4135, 4639, 4780, 4237, 4548, 4655, 4153, 4654, 4922, 4563, 4042, 4329, 4699, 4352, 4127, 4544, 4906, 4814, 4948, 4977, 4830, 4405, 4642, 4666, 4402, 4679, 4465, 4401, 4155, 4767, 4510, 4747, 4993, 4508, 4697, 4758, 4133, 4348, 4200, 4442, 4970, 4452, 4041, 4103, 4567, 4937, 4047, 4933, 4121, 4860, 4659, 4221, 4312, 4583, 4473, 4973, 4262, 4630, 4123, 4139, 4289, 4147, 4222, 4050, 4019, 4454, 4253, 4552, 4947, 4725, 4457, 4929, 4021, 4502, 4307, 4576, 4124, 4586, 4610, 4027, 4572, 4926, 4753, 4185, 4382, 4394, 4923, 4186, 4254, 4012, 4417, 4556, 4349, 4550, 4330, 4938, 4985, 4778, 4716, 4924, 4045, 4358, 4189, 4591, 4213, 4851, 4825, 4260, 4198, 4342, 4824, 4333, 4244, 4752, 4994, 4488, 4532, 4082, 4595, 4098, 4436, 4540, 4267, 4407, 4998, 4751, 4535, 4861, 4819, 4419, 4031, 4029, 4453, 4698, 4965, 4450, 4668, 4036, 4300, 4519, 4281, 4981, 4818, 4939, 4378, 4140, 4841, 4249, 4290, 4388, 4878, 4884, 4235, 4515, 4638, 4410, 4054, 4383, 4238, 4870, 4295, 4804, 4308, 4614, 4105, 4053, 4446, 4757, 4971, 4637, 4831, 4193, 4912, 4000, 4187, 4606, 4566, 4169, 4641, 4749, 4729, 4928, 4601, 4949, 4210, 4313, 4647, 4495, 4460, 4621, 4605, 4694, 4317, 4226, 4263, 4016, 4997, 4940, 4715, 4907, 4620, 4934, 4996, 4955, 4688, 4304, 4220, 4882, 4772, 4536, 4815, 4693, 4469, 4276, 4409, 4071, 4224, 4020, 4629, 4865, 4813, 4366, 4622, 4129, 4533, 4634, 4564, 4087, 4386, 4161, 4265, 4711, 4009, 4376, 4781, 4837, 4112, 4915, 4592, 4658, 4025, 4987, 4291, 4477, 4503, 4437, 4111, 4707, 4879, 4611, 4549, 4078, 4044, 4853, 4835, 4463, 4577, 4008, 4233, 4741, 4384, 4225, 4024, 4726, 4743, 4160, 4180, 4722, 4609, 4114, 4834, 4742, 4662, 4984, 4299, 4060, 4498, 4755, 4320, 4874, 4528, 4216, 4852, 4951, 4958, 4283, 4239, 4476, 4644, 4143, 4104, 4455, 4126, 4950, 4663, 4013, 4931, 4850, 4242, 4130, 4623, 4871, 4014, 4854, 4293, 4512, 4166, 4740, 4735, 4150, 4651, 4172, 4836, 4530, 4664, 4429, 4511, 4558, 4676, 4085, 4074, 4580, 4794, 4379, 4310, 4817, 4966, 4848, 4202, 4336, 4608, 4351, 4396, 4652, 4033, 4188, 4431, 4916, 4259, 4607, 4816, 4810, 4627, 4527, 4560, 4728, 4589, 4274, 4809, 4790, 4398, 4414, 4516, 4581, 4919, 4665, 4331, 4978, 4543, 4877, 4974, 4284, 4004, 4177, 4466, 4116, 4217, 4901, 4372, 4137, 4806, 4264, 4497, 4294, 4787, 4212, 4215, 4115, 4782, 4739, 4821, 4125, 4505, 4230, 4399, 4395, 4079, 4867, 4381, 4706, 4695, 4404, 4691, 4075, 4353, 4301, 4876, 4731, 4523, 4246, 4529, 4412, 4784, 4449, 4229, 4616, 4158, 4002, 4318, 4377, 4205, 4911, 4777, 4792, 4271, 4763, 4141, 4287, 4890, 4279, 4829, 4646, 4840, 4089, 4880, 4067, 4918, 4059, 4109, 4164, 4863, 4883, 4909, 4361, 4174, 4960, 4302, 4003, 4236, 4846, 4034, 4324, 4513, 4765, 4596, 4900, 4007, 4603, 4474, 4439, 4805, 4015, 4496, 4953, 4363, 4551, 4459, 4063, 4983, 4881, 4365, 4604, 4587, 4798, 4005, 4163, 4421, 4471, 4826, 4144, 4635, 4600, 4913, 4640, 4247, 4766, 4779, 4280, 4391, 4891, 4636, 4546, 4683, 4181, 4081, 4862, 4458, 4037, 4321, 4786, 4717, 4628, 4154, 4326, 4032, 4873, 4151, 4905, 4270, 4156, 4733, 4980, 4866, 4325, 4055, 4467, 4480, 4286, 4191, 4762, 4322, 4574, 4022, 4056, 4770, 4451, 4448, 4845, 4341, 4433, 4245, 4684, 4671, 4093, 4920, 4272, 4745, 4799, 4761, 4250, 4578, 4347, 4499, 4526, 4369, 4162, 4537, 4434, 4893, 4120, 4962, 4667, 4525, 4091, 4462, 4182, 4738, 4935, 4173, 4490, 4571, 4424, 4894, 4051, 4214, 4823, 4096, 4206, 4598, 4943, 4701, 4649, 4807, 4107, 4435, 4456, 4083, 4612, 4721, 4472, 4146, 4925, 4340, 4789, 4277, 4375, 4211, 4427, 4547, 4690, 4613, 4727, 4006, 4203, 4430, 4223, 4039, 4932, 4296, 4108, 4278, 4832, 4422, 4917, 4470, 4183, 4887, 4076, 4485, 4597, 4443, 4257, 4991, 4944, 4196, 4672, 4397, 4097, 4119, 4077, 4773, 4602, 4538, 4479, 4968, 4159, 4539, 4956, 4710, 4812, 4902, 4569, 4954, 4385, 4128, 4936, 4416, 4148, 4632, 4759, 4117, 4896, 4392, 4864, 4316, 4132, 4319, 4969, 4175, 4484, 4903, 4910, 4350, 4332, 4952, 4176, 4594, 4709, 4509, 4178, 4167, 4545, 4857, 4617, 4501, 4859, 4207, 4275, 4687, 4049, 4579, 4046, 4921, 4113, 4898, 4681, 4052, 4415, 4064, 4184, 4895, 4744, 4685, 4084, 4305, 4899, 4559, 4208, 4057, 4507, 4258, 4355, 4086, 4373, 4323, 4541, 4297, 4483, 4889, 4531, 4327, 4441, 4914, 4303, 4677, 4445, 4802, 4343, 4585, 4338, 4524, 4590, 4624, 4288, 4704, 4134, 4043, 4720, 4058, 4328, 4095, 4026, 4423, 4657, 4118, 4633, 4487, 4822, 4904, 4255, 4001, 4387, 4500, 4190, 4686, 4995, 4661, 4783, 4992, 4165, 4065, 4927, 4306, 4856, 4292, 4420, 4963, 4468, 4240, 4724, 4432, 4447, 4518, 4028, 4670, 4339, 4771, 4018, 4489, 4110, 4708, 4945, 4136, 4492, 4930, 4090, 4734, 4886, 4542, 4227, 4486, 4491, 4713, 4986, 4068, 4048, 4975, 4570, 4842, 4475, 4131, 4555, 4428, 4776, 4101, 4273, 4811, 4345, 5000, 4653, 4256, 4209, 4769, 4946, 4561, 4080, 4461, 4820, 4311, 4959, 4750, 4795, 4748, 4368, 4506, 4335, 4346, 4568, 4675, 4692, 4774, 4413, 4370, 4723, 4521, 4885, 4678, 4897, 4066, 4674, 4106, 4626, 4389, 4204, 4839, 4023, 4712, 4145, 4035, 4357, 4756, 4648, 4972, 4157, 4406, 4615, 4061, 4219, 4791, 4660, 4073, 4356, 4072, 4599, 4359, 4094, 4673, 4696, 4796, 4282, 4714, 4522, 4736, 4775, 4760, 4400, 4847, 4228, 4803, 4908, 4732, 4645, 4122, 4218, 4478, 4941, 4892, 4364, 4403, 4152, 4444, 4360, 4354, 4241, 4494, 4367, 4808, 4261, 4088, 4573, 4554, 4248, 4371, 4393, 4268, 4201, 4038, 4788, 4593, 4040, 4801, 4582, 4309, 4976, 4374, 4869, 4380, 4514, 4243, 4362, 4849, 4680, 4888, 4764, 4618, 4838, 4828, 4643, 4010, 4827, 4957, 4099, 4875, 4843, 4737, 4102, 4979, 4011, 4504, 4440, 4746, 4557, 4426, 4553, 4656, 4868, 4689, 4988, 4703, 4967, 4069, 4619, 4334, 4669, 4785, 4464, 4562, 4961, 4625, 4754, 4797, 4481, 4705, 4199, 4337, 4062, 4138, 4702, 4534, 4168, 4418, 4092, 4682, 4520, 4030, 4171, 4650, 4858, 4411, 4999, 4252, 4197, 4170, 4942, 4631, 4990, 4179, 4285, 4700, 4482, 4575, 4800, 4070, 4251, 4344, 4982, 4719, 4390, 4149, 4100, 4194, 4269, 4855, 4314, 4718, 4232, 4730, 4438, 4588, 4195, 4192, 4493, 4517, 4833, 4234, 4989, 4315, 4844, 4142, 4408, 4584, 4425]
2
+
3
+ 1000.times do
4
+ a.uniq!
5
+ end
@@ -0,0 +1,5 @@
1
+ a = [Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new, Object.new]
2
+
3
+ 1000.times do
4
+ a.uniq!
5
+ end