Skip to content

Instantly share code, notes, and snippets.

/a.md Secret

Created June 17, 2017 12:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/48f9496b9956707d9892ff15f5083392 to your computer and use it in GitHub Desktop.
Save anonymous/48f9496b9956707d9892ff15f5083392 to your computer and use it in GitHub Desktop.
title author date output
スレ立てるまでもない質問はここで
デフォルトの名無しさん
2017-06-17
html_document
toc
true
<style type="text/css"> div.todo {border-left: solid 1px black; padding-left: 1ex;} div.todo:before {content: 'とど';} </style>

まえがき {#preface}

\newcommand{\toss}{\operatorname{toss}} \newcommand{\vol}{\operatorname{vol}} \newcommand{\period}{\operatorname{period}} \newcommand{\eps}{\epsilon} \newcommand{\norm}[1]{|!|{#1}|!|}

このマークダウンa.mdは、次のコマンドでa.htmlにコンパイルされます。

Rscript -e "rmarkdown::render ('a.md')"

前提条件として次のシステムパッケージと

  1. R
  2. RStudio
  3. python3

さらに、次のrのライブラリと

library (ggplot2);
library (poweRlaw);
library (pander);

次のpython3のライブラリが必要になります。

from sympy import *;

上記のコマンドが上手く動けば、次の処理が行われます。

r-markdown |- r with knitr -> pandoc-markdown |- pandoc -> html

したがって、htmlに限らず、Pandocで出力できるもの ならば、どんな形式にでも出力できると思います。 例えば、次のコマンドではdocxが出力されます。

Rscript -e "rmarkdown::render ('a.md', output_format = 'word_document')"

pandocrstudioに同封されていると思います。

$\pi/4$の巻 {#pi}

knitr::opts_chunk$set (echo = T, cache = T
, comment = '', fig.width = 4, fig.height = 4);

途中経過が見たいので、ビット配列を返すような関数に修正します。 start

#include <Rcpp.h>
// [[Rcpp::plugins(cpp14)]]
// [[Rcpp::export]]
Rcpp::LogicalVector c_bits (int n, double radius) {
	Rcpp::LogicalVector out (Rcpp::no_init (n));
	std::random_device rd;
	std::mt19937 g (rd ());
	std::uniform_real_distribution <double> dist (- radius, radius);
	while (0 < n--) {
		auto a = dist (g); 
		auto b = dist (g);
		out [n] = a * a + b * b < radius * radius;
	}
	return out;
}

走らせるザンス。 start-plot

param = list (m = 1e+3, n = 1e+3, radius = 123, p = pi / 4);
ensure.positive = function (x) {
	x [which (x <= 0)] = NA;
	x;
};
with (param, {
	x = do.call ('cbind', lapply (1:m, function (m) {
		cumsum (c_bits (n, radius)) / 1:n;
	}));
	matplot (1:n, x [, sample.int (m, min (10, m))], log = 'x', type = 'l'
	, main = 'ビット値の平均', xlab = 'n', ylab = '平均値');
	lines (c (1, n), rep (p, 2), col = 'red');
	y = apply (x, 1, function (x) mean ((x - mean (x)) ^ 2));
	plot (1:n, ensure.positive (y), log = 'xy', type = 'l'
	, main = '平均値の分散', xlab = 'n', ylab = '分散');
	lines (1:n, p * (1 - p) / 1:n, col = 'red');
});

ひとつ目のグラフは、長く走らせれば$\pi/4$に収束することを示しています。 だからこそ、 モンテカルロ界のハローワールド として君臨しているのだと思います。今回のお題は次の疑問です。

  • どれくらいのスピードで収束するの?

ふたつ目のグラフはこの疑問にアプローチしています。シミュレーションを 個々に見ても傾向は掴みにくにので、r sprintf ('%.0e', param$m)回 シミュレーションを走らせて、シミュレーション毎のバラツキを見ています。 分散の二乗根をとってシミュレーションの結果と重ねてみましょう。

with (param, {
	x = do.call ('cbind', lapply (1:m, function (m) {
		cumsum (c_bits (n, radius)) / 1:n;
	}));
	y = apply (x, 1, function (x) mean ((x - mean (x)) ^ 2));
	y.lo = apply (x, 1, mean) - sqrt (y);
	y.hi = apply (x, 1, mean) + sqrt (y);
	matplot (1:n, x [, sample.int (m, min (100, m))], log = 'x', type = 'l'
	, main = '平均値のバラツキ', xlab = 'n', ylab = '平均値');
	polygon (c (1:n, rev (1:n)), c (y.lo, rev (y.hi)), col = rgb (0, 0, 1, 0.5));
});

シミュレーションすると、大体青で囲った範囲内にビット値の平均が収まるだろう という目安です。この絵がこのポエムのハイライトです。

ふたつ目のグラフは$1/n$に比例した曲線によく当てはまっています。 両対数のグラフなので直線で描かれています。この現象は単純な式変形で 理解することができます。それを以下に書きます。

平均値が収束する値を$\mu$とし、シミュレーションが時刻$i$に出力したビット値 を$x_i$とします。今の場合、$\mu = \pi/4$です。「収束値は知らない」という 体でやっているので、正確には異なりますが、ふたつ目のグラフでの黒線は次の $\delta_1^2,,\delta_2^2,\dots$に相当します。 $$ \delta_n := \frac{x_1 +\cdots+ x_n}{n} - \mu,\quad \delta_n^2 = \frac{(x_1 +\cdots+ x_n - n\mu)^2}{n^2} = \frac{(x_1 - \mu)^2 +\cdots+ (x_n - \mu)^2}{n^2}. $$ シミュレーションを十分長く走らせると、出力したビット列の分散が$\sigma^2$ に近づくと仮定します。 $$ \frac{(x_1 - \mu)^2 +\cdots+ (x_n - \mu)^2}{n} \approx \sigma^2 \quad\text{for enough large } n. \tag{eq:clt}\label{eq:clt} $$ すると、$\delta_n^2$は次のようになります。 $$ \delta_n^2 \approx \frac{\sigma^2}{n} \quad\text{for enough large } n. \tag{eq:clt-1}\label{eq:clt-1} $$ シミュレーションが一回こっきりでは心もとないので、 r sprintf ('%.0e', param$m)回繰り返して得た結果を、 「平均値の収束値を知らない」という体で描いたのがふたつ目のグラフです。 $\eqref{eq:clt}$は自明でない仮定なので、そこを詰めたものを 中心極限定理 と言います。実際、後で述べる中心極限定理が成り立たない例では、 収束先の$\sigma^2$が無限大になり、ブラウン運動の例では、 $\eqref{eq:clt}$からずれます。「中心極限定理が成り立つことは稀だ」ぐらいの 気でいた方が安全かもしれません。

初めのコードがやっていることは、正方形の中に点をランダムに ばらまいて、円の内側の点にtrue、外側の点にfalseを割り当てることです。

with (param, {
	n = 2e+2;
	a = runif (n, - radius, radius);
	b = runif (n, - radius, radius);
	plot (a, b, xlim = c (- radius, radius), ylim = c (- radius, radius)
	, col = ifelse (a ^ 2 + b ^ 2 < radius ^ 2, 'red', 'black'));
	t = seq (- pi, pi, len = 1e+3);
	polygon (radius * cos (t), radius * sin (t), col = rgb (0, 0, 1, 0.5));
});

したがって、ある時刻$n$でtrueが出る確率は$\pi r^2/(4r^2) = \pi/4$で、 falseが出る確率は$1-\pi/4$になります。しつこいですが、このことが あるからこそ、 モンテカルロ界のハローワールド に君臨しているのであって、「何を今更 激おこぷんぷん丸」 かもしれませんが、もうちょっと辛抱して下さい。

一般に、次の手順で生成されるビット列を確率$p$の ベルヌーイ分布 と言います。

  1. $(0,1)$の範囲でランダムに値$x$を一つ選び、
  2. $x&lt;p$ならば、trueを. それ以外の場合は、falseを返す。

したがって、初めのコードは、確率$\pi/4$のベルヌーイ分布を生成 します。確率$p$のベルヌーイ分布の分散は$p(1-p)$なので、$\eqref{eq:clt-1}$ の$\sigma^2$は$\pi/4(1-\pi/4)$とわかります。 ふたつ目のグラフの赤線は、$\pi/4(1-\pi/4)/n$を描いています。

最初のコードが、$p=\pi/4$のベルヌーイ分布を生成することを 確かめておきます。ベルヌーイ分布は次のコードで生成されます。

coin.toss = function (n, p = pi / 4) runif (n, 0, 1) < p;

このコードと最初のコードが似たようなビット列を出力すれば、 両者が同じと言って良いと思います。単純に両者の出力を コルモゴロフ–スミルノフ検定 で比べても良いと思いますが、せっかくなので、中心極限定理を使ってみます。

with (param, {
	n = 1e+5;
	x = cumsum (c_bits (n, radius)) / 1:n;
	y = cumsum (coin.toss (n, p)) / 1:n;
	z = ((x - p) ^ 2 + (y - p) ^ 2) / 2;
	plot (1:n, ensure.positive (z), log = 'xy', type = 'l'
	, main = '平均値の分散', xlab = 'n', ylab = '分散');
	lines (1:n, p * (1 - p) / 1:n, col = 'red');
});

中心極限定理が使えない場合 {#non-clt}

中心極限定理が使えない代表的な例として べき乗則を考えます。例えば、 Wikipediaの閲覧回数(激重) を例に見てみます。

param = list (views = views [- (1:2)], scale = 1e+6);
param = with (param, {
	x = views / scale;
	fit = conpl$new (x);
	out = estimate_xmin (fit);
	param$xmin = out$xmin;
	param$ymin = approx (x, 1:length (x), param$xmin)$y;
	param$alpha = out$pars;
	param;
});
power.mean = function (alpha) (alpha - 1) / (alpha - 2);
power.median = function (alpha) exp (log (2) / (alpha - 1));
with (param, {
	x = views / scale;
	plot (x, 1:length (x), log = 'xy', type = 'l'
	, xlab = sprintf ('views / week / %.0e', scale), ylab = 'rank');
	xs = seq (xmin, max (x), len = 1e+3);
	lines (xs, ymin * exp (- (alpha - 1) * log (xs / xmin)), col = 'red');
});

このデータの場合、スケーリング指数r sprintf ('%.1f', param$alpha)の べき乗則になっています。一般に、スケーリング指数$\alpha$のべき乗則だと、 次の式から、 $$ \mathbb{E}\alpha(x^k) := \frac{\int{x=x_\min}^{x_\max} x^kx^{-\alpha}}{\int_{x=x_\min}^{x_\max}x^{-\alpha}} = \frac{\alpha - 1}{\alpha - (k + 1)} \frac{x_\min^{(k+1)-\alpha} - x_\max^{(k+1)-\alpha}} {x_\min^{1-\alpha} - x_\max^{1-\alpha}} $$ $x_\max$を無限大とした平均と分散は、条件付きで次のように与えられます。 $$ \begin{split} 2 < \alpha &\implies \text{平均} = \frac{\alpha - 1}{\alpha - 2}x_\min, \ 3 < \alpha &\implies \text{分散} = \left(\frac{\alpha - 1}{\alpha - 3}

  • \left(\frac{\alpha - 1}{\alpha - 2}\right)^2\right)x_\min^2. \end{split} $$ 今使っている閲覧回数のデータの場合、$\alpha=$ r sprintf ('%.1f', param$alpha)なので、分散は発散しています。 したがって、中心極限定理は成り立ちません。もちろん、べき乗則が上級国民から 下級国民にまで全てに当てはまるということはまずなくて、大抵はごく少数の 上級国民にだけ当てはまります。それでも、べき乗則が成り立つ場合は、 富は上級国民に集中しているために、上級国民を調べることで富の分布がかなり 把握できるという性質があります。ちなみに、このデータの場合、本当の一位 (メインページ)と二位(ブランクページ)を取り除いているので、 xHamsterが最上級国民となって います。エロ恐るべし。それはそれとして、wikipediaの総ページ数も人やボット の数も有限なので、実際には分散は発散しません。したがって、十分大きなデータ を集めれば、中心極限定理が適用できると思うかもしれませんが、中心極限定理が 前提としているのは、地球上にあるウェブページ数ぐらいの小さなデータ数では ありません。ある程度の数の標本がないと、分散が$1/n$になる傾向が現れて きません。その「ある程度の数」がwikipediaの総ページ数ぐらいになるかも しれません。そうなると、標本をとって母集団の分布を推定する行為が 無意味になります。

マルコフ過程 {#markov}

最初のコードを次のように模式的に書きます。 $$ \begin{array}{c} \text{平面上の点} & (a_1, b_1) & (a_2, b_2) & \cdots \ & \downarrow & \downarrow & \cdots \ \text{出力} & x_1 & x_2 & \cdots \ \end{array} $$ これをちょっと書き換えて、平面上の位置は前回の位置に依存するように変更 します。 $$ \begin{array}{c} \text{平面上の点} & (a_1, b_1) &\to& (a_2, b_2) &\to& \cdots \ & \downarrow && \downarrow && \cdots \ \text{出力} & x_1 && x_2 && \cdots \ \end{array} $$ この手の次の状態が現在の状態に依存して定まる過程を マルコフ過程と言います。 人によっては、 隠れマルコフモデル と言った方がしっくりくるかもしれません。ここでは、単純にマルコフ過程 と言うことにします。平面上の正方形内を ブラウン運動 させてみます。ブラウン運動は代表的なマルコフ過程で、やはり 確率過程界のハローワールドとして君臨しているように思います1。 平面上の動きを見たいので、次のコードを用意します。 brown

#include <Rcpp.h>
// [[Rcpp::plugins(cpp14)]]
// [[Rcpp::export]]
Rcpp::NumericMatrix c_walk (int n, double a, double b, double eps) {
	Rcpp::NumericMatrix out (n, 2);
	std::random_device rd;
	std::mt19937 g (rd ());
	std::normal_distribution <double> dist (0, eps);
	auto guard = [] (const double& x) -> double {
		if (x < 0) {
			return - std::max (x, -1.0);
		} else if (1 < x) {
			return 2 - std::min (x, 2.0);
		}
		return x;
	};
	for (int i = 0; i < n; ++i) {
		out (i, 0) = a = guard (a + dist (g)); 
		out (i, 1) = b = guard (b + dist (g)); 
	}
	return out;
}

試し打ちザンス。

param = list (n = 1e+6, a = 1, b = 1, eps = 2e-2, p = pi / 4);
with (param, {
	x = c_walk (n, a, b, eps);
	y = cumsum (rowSums (x * x) < 1) / 1:n;
	plot (1:n, y, log = 'x', type = 'l'
	, main = 'ビット値の平均', xlab = 'n', ylab = '平均値');
	lines (c (1, n), rep (p, 2), col = 'red');
	i = 1:1e+3;
	plot (x [i, 1], x [i, 2], xlim = c (0, 1), ylim = c (0, 1), type = 'l'
	, main = sprintf ('ウロウロ up to n = %d', max (i)), xlab = 'x', ylab = 'y');
});

ベルヌーイ過程に比べて収束は遅いのですが、やはり、ビット値の平均は $\pi/4$に収束します。このことは、今回の場合も十分長い時間走らせると、 正方形の中に点が一様にばらまかれることから来ています。正方形の中の点の 分布が同じなら、出てくるビット列も平均や分散が等しくなります。 平均や分散は、データの並び順を無視して計算するので、こういったことが 起こります。

初めのグラフに対応するグラフを描いてみます。

param$m = 1e+3;
param$n = 2e+4;
out = with (param, {
	bit = lapply (1:m, function (m) {
		x = c_walk (n, runif (1, 0, 1), runif (1, 0, 1), eps);
		#x = c_walk (n, a, b, eps);
		rowSums (x * x) < 1;
	});
	x = do.call ('cbind', lapply (bit, function (bit) {
		cumsum (bit) / 1:n;
	}));
	matplot (1:n, x [, sample.int (m, min (10, m))], log = 'x', type = 'l'
	, main = 'ビット値の平均', xlab = 'n', ylab = '平均値');
	lines (c (1, n), rep (p, 2), col = 'red');
	y = apply (x, 1, function (x) mean ((x - mean (x)) ^ 2));
	plot (1:n, ensure.positive (y), log = 'xy', type = 'l'
	, main = '平均値の分散', xlab = 'n', ylab = '分散');
	lines (1:n, p * (1 - p) / (1:n), col = 'red');
	do.call ('cbind', bit);
});

下に示しているように、出力されたビット列はベルヌーイ分布に収束しますが、 初めのグラフと異なり、中心極限定理は成り立っていません。 つまり、$\eqref{eq:clt}$が成り立ちません。

with (param, {
	a = mean (apply (out, 2, mean));
	b = mean (apply (out, 2, function (x) mean ((x - mean (x)) ^ 2)));
	pander (data.frame (
		平均 = c (実験値 = a, 理論値 = p), 分散 = c (b, p * (1 - p))
	));
});

一般には、中心極限定理はマルコ過程には適用できません。 スタックオーバフロー に優れた解説があるので、興味があれば見て下さい。

一般には、マルコ過程では中心極限定理は成り立たないのですが、グラフは 大きな$n$のところでは、分散は$1/n$に比例しているように見えます。 以下ではそのことについて考えます。

同一の初期値でシミュレーションを何度もやって平均をとると、ビット列は 次の状態遷移で記述できると考えらます。 $$ \begin{array}{c} &&& p_0 \ 1 - p_0 & \circlearrowleft & \boxed{\operatorname{true}} & \rightleftarrows & \boxed{\operatorname{false}} & \circlearrowleft & 1 - p_1 \ &&& p_1 \ \tag{eq:charlie}\label{eq:charlie} \end{array} $$ $p_0$trueからfalseへの遷移確率、$p_1$はfalseからtrueへの 遷移確率です。この状態遷移図は次の行列$T$に化けます。

from sympy import *;
p_0 = Symbol ('p_0');
p_1 = Symbol ('p_1');
T = Matrix ([[1 - p_0, p_1], [p_0, 1 - p_1]]);
print ('$$\n' + 'T := ' + latex (T) + ',\quad' 
+ latex (T.eigenvects ()) + '\n$$\n');

時刻$t$でtrueが$n_1(t)$個、falseが$n_0(t)$個あらば、 時刻$t+1$でのそれぞれの個数は次のようになると言っています。 $$ \begin{pmatrix} n_1(t+1) \ n_0(t+1) \end{pmatrix} = T \begin{pmatrix} n_1(t) \ n_0(t) \end{pmatrix}. $$ 以降では、厄介を避けるために、$p_0 + p_1 < 1$の場合のみを考えます。 $X(1)\in\mathbb{R}^2$が与えられたとし、$X(k+1) := T^kX(1)$とおくと、 次の式が成り立ちます。 $$ \frac{X(1) +\cdots+ X(n)}{n} = \frac{T^0 +\cdots+ T^{n-1}}{n} X(1) = \frac{1}{n}\frac{1 - T^n}{1 - T} X(1). $$ $T$の固有ベクトルを次のように書き、 $$ X_0 := \frac{1}{p_0 + p_1}\begin{pmatrix} p_1 \ p_0 \end{pmatrix},\quad X_\lambda := \begin{pmatrix} 1 \ - 1 \end{pmatrix},\quad \lambda := 1 - (p_0 + p_1). $$ $X(1) = c_1X_1 + c_\lambda X_\lambda$とおくと、平均分布は次のように書ける ことがわかります。 $$ \frac{X(1) +\cdots+ X(n)}{n} = c_1X_1

  • \frac{c_\lambda}{n}\frac{1 - \lambda^n}{1 - \lambda}X_\lambda. $$ したがって、どのような初期分布であろうと、$n\to\infty$で平均分布は $c_1X_1$に収束します。ビット値の平均$\bar{x}(n)$は次のようになります。 $$ \bar{x}(n) := \frac{(1,0)\bar{X}(n)}{(1,1)\bar{X}(n)} = \frac{p_1}{p_1 + p_0} + \frac{1}{n}\frac{1 - \lambda^n}{1 - \lambda} \frac{c_\lambda}{c_1} ,\quad \bar{X}(n) := \frac{X(1) +\cdots+ X(n)}{n}. $$

平均分布がが確率$p_\toss$のベルヌーイ分布に収束するためには、次の式が 成り立つ必要があります。 $$ \frac{p_1}{p_0} = \frac{p_\toss}{1-p_\toss}. $$ この時、$p_1$と$p_0$は$p_\toss$と$\lambda$で次のように書けます。 $$ p_1 = p_\toss(1 - \lambda),\quad p_0 = (1 - p_\toss)(1 - \lambda), $$ $\eqref{eq:clt}$を定義するのに使った$\delta_n$に似た$\Delta_n(\lambda)$ を次のように定義すると、 $$ \Delta_n(\lambda) := \bar{x}(n) - p_\toss = \frac{1}{n}\frac{1 - \lambda^n}{1 - \lambda} \frac{c_\lambda}{c_1}, $$ ベルヌーイ過程との収束速度の比が得られます。 $$ \frac{\Delta_n(\lambda)}{\Delta_n(0)} = \frac{1 - \lambda^n}{1 - \lambda}. \tag{eq:ratio}\label{eq:ratio} $$ この式は、$\lambda$がゼロでない場合も、ビット列の平均値が指数的に ベルヌーイ分布の平均値に近づくことを示しています。

ここで、brownが生成するビット列は、$p_\toss=\pi/4$として、 この条件を満たす状態遷移で近似できると仮定します。この仮定には、ほとんど 根拠がなく、上手く行かなくて当然といったものです。 シミュレーションならではの遊びです。

$C$を単位円として、次の式で$p_0$を近似できると思うのですが、前年ながら 計算する能力がありません。 $$ p_0 \approx \frac{1}{\vol(C)}\int_{x\in C}\int_{y\not\in C} \frac{1}{2\pi\eps^2} \exp\left(- \frac{\norm{x - y}^2}{2\eps^2}\right) $$ したがって、シミュレーション結果から$p_0$と$p_1$を求めることにします。 ベルヌーイ過程の生成するベルヌーイ分布と区別するために、 $\eqref{eq:charlie}$が生成するビット列をチャーリー列ということにします。

x = with (param, {
	p1 = mean (apply (out, 2, function (x) {
		sum (diff (x) > 0) / sum (x == F);
	}));
	p0 = mean (apply (out, 2, function (x) {
		sum (diff (x) < 0) / sum (x == T);
	}));
	a = 1 / p1 + 1 / p0 - 2;
	b = 1 / p + 1 / (1 - p) - 2;
	list (pander (data.frame (
		p1 = c (チャーリー = p1, ベルヌーイ = p, 'ベルヌーイ / チャーリー' = p / p1)
		, p0 = c (p0, 1 - p, (1 - p) / p0)
		, lambda = c (1 - (p0 + p1), 0, 0)
		, period = c (a, b, b / a)
		)), list (p1 = p1, p0 = p0, charlie = a, bernoulli = b)
	);
});
charlie = x [[2]];
x [[1]];

ドンピシャとはいきませんが、悪くない値が出ているようです。ここで、 periodは次のように定義しています。 $$ \period(\lambda) := \sum_{m,n=0}^\infty (m+n) p_1(1-p_1)^mp_0(1-p_0)^n = \frac{1}{p_1} + \frac{1}{p_0} - 2. $$ 上の表から、brownが出力するビット列をチャーリー列で近似した場合、 対応するベルヌーイ分布に比べて、 r sprintf ('%.1f', charlie$charlie / charlie$bernoulli)倍長いperiod を持つことがわかります。 periodは$\eqref{eq:ratio}$と次のように関係しています。 $$ \frac{\period(\lambda) + 2}{\period(0) + 2} = \frac{\Delta_\infty(\lambda)}{\Delta_\infty(0)} = \frac{1}{1 - \lambda}. $$

チャーリー列はベルヌーイ分布を$\period(\lambda)/\period(0)$だけスロー再生 したものだと考えることができるので、それで、平均値の分散を漸近的に近似 できればラッキーです。試してみるザンス。

out = with (param, {
	for (eps in c (2e-2, 5e-2, 1e-1, 2e-1)) {
		bit = lapply (1:m, function (m) {
			x = c_walk (n, runif (1, 0, 1), runif (1, 0, 1), eps);
			rowSums (x * x) < 1;
		});
		x = do.call ('cbind', lapply (bit, function (bit) {
			cumsum (bit) / 1:n;
		}));
		matplot (1:n, x [, sample.int (m, min (10, m))], log = 'x', type = 'l'
		, main = 'ビット値の平均', xlab = 'n', ylab = '平均値');
		lines (c (1, n), rep (p, 2), col = 'red');
		y = apply (x, 1, function (x) mean ((x - mean (x)) ^ 2));
		plot (1:n, ensure.positive (y), log = 'xy', type = 'l'
		, main = '平均値の分散', xlab = 'n', ylab = '分散');
		lines (1:n, p * (1 - p) / 1:n, col = 'red');
		if (F) {
			z = rowMeans (do.call ('cbind', lapply (bit, function (bit) {
				p1 = sum (diff (bit) > 0) / sum (bit == F);
				p0 = sum (diff (bit) < 0) / sum (bit == T);
				lambda = 1 - (p0 + p1);
				(1 - lambda ^ (1:n)) / (1 - lambda);
			})));
			lines (1:n, z ^ 2 * p * (1 - p) / (1:n), col = 'green');
		}
		z = mean (sapply (bit, function (bit) {
			p1 = sum (diff (bit) > 0) / sum (bit == F);
			p0 = sum (diff (bit) < 0) / sum (bit == T);
			(1 / p1 + 1 / p0 - 2) / (1 / p + 1 / (1 - p) - 2);
		}));
		lines (1:n,  z ^ 2 * p * (1 - p) / (1:n), col = 'blue');
	}
});

たまたな上手くいっていますが、初期値をランダムにしているせいだろうと 思います。コメントアウトしていることから分かるように、$\eqref{eq:ratio}$ も試してみたのですが、上手くいかないようです。

views = c (112094257
,5401953
,2407687
,2281837
,2056307
,1898627
,1151494
,1109971
,1054365
,1022820
,950395
,920590
,890097
,720776
,711210
,707808
,700203
,683937
,672394
,653456
,652739
,647358
,641421
,633614
,626083
,625577
,622404
,619529
,566567
,561590
,550458
,536024
,530923
,451083
,450574
,445103
,442148
,441908
,432209
,419738
,417659
,416425
,414889
,401948
,400637
,394310
,393019
,381596
,381374
,369112
,364479
,363252
,363134
,361503
,358085
,350855
,344953
,343395
,342454
,338034
,335350
,330514
,322285
,322149
,321638
,321268
,321007
,317470
,315286
,312121
,304389
,304183
,299468
,297265
,297183
,295646
,294547
,294317
,287408
,287144
,284909
,284760
,283812
,282409
,279693
,276297
,273107
,272679
,271622
,268619
,266774
,262068
,259568
,259086
,255447
,253971
,248888
,248585
,247910
,247413
,241415
,239522
,239226
,238496
,237265
,233646
,233395
,233201
,232586
,231389
,231068
,231036
,231034
,230637
,229942
,228319
,226460
,225422
,223967
,222669
,222331
,222254
,220946
,220725
,220364
,219400
,215588
,215178
,213748
,210169
,209747
,208819
,207925
,207524
,206763
,205829
,204165
,203222
,200381
,199049
,199003
,198818
,198319
,198225
,196326
,196047
,196041
,195287
,195052
,195048
,194621
,192916
,192306
,191237
,190582
,190156
,189857
,189766
,188643
,187839
,187567
,187103
,186662
,185960
,185666
,184404
,184232
,181971
,181697
,181665
,181662
,180876
,180076
,179938
,177918
,177712
,177644
,176930
,176814
,173890
,173461
,173450
,171587
,171011
,171002
,169949
,169283
,167800
,167770
,167720
,167717
,166835
,166152
,166029
,163760
,162583
,162396
,161770
,161725
,157664
,157274
,157211
,156883
,156591
,156378
,156207
,155957
,155486
,155255
,153622
,153007
,152354
,151539
,151167
,150744
,150541
,149251
,149218
,147765
,147645
,147435
,147381
,146349
,146247
,145988
,144907
,144809
,144386
,144271
,143752
,143395
,143343
,143206
,143135
,142904
,142681
,142612
,142100
,140838
,140197
,139947
,139886
,139813
,139374
,139369
,138983
,138797
,138040
,137439
,137242
,137193
,137044
,135756
,135179
,134983
,134928
,134843
,134729
,134678
,134611
,134432
,134218
,133501
,133357
,132106
,131976
,131969
,131713
,131326
,130411
,130244
,130010
,129981
,129659
,129614
,129540
,129353
,129303
,128600
,128459
,128416
,128102
,127969
,127949
,127853
,127738
,127320
,127246
,126902
,126576
,125924
,125875
,125765
,125713
,125128
,124506
,124443
,124211
,123895
,123880
,123590
,123539
,123309
,123053
,123002
,122994
,122657
,122623
,122565
,122251
,122153
,121759
,121645
,121465
,121413
,121251
,121251
,120367
,120284
,120275
,120199
,120185
,119885
,119701
,119612
,119145
,118946
,118815
,118659
,118642
,118427
,118225
,117763
,117507
,117021
,116595
,116419
,116398
,116392
,116062
,115942
,115586
,115272
,115043
,114777
,114767
,114655
,114553
,114472
,114260
,114203
,114194
,114029
,113778
,113773
,113685
,113664
,113588
,113492
,113468
,113388
,113337
,113250
,113244
,112852
,112595
,112416
,112323
,111963
,111743
,111719
,111641
,111490
,111429
,111400
,111383
,111259
,111140
,110937
,110667
,110539
,110196
,109962
,109897
,109777
,109534
,109484
,109454
,109422
,109380
,109121
,109108
,108815
,108704
,108168
,108112
,108042
,107999
,107948
,107830
,107694
,107691
,107638
,107638
,107405
,107170
,107107
,106953
,106925
,106834
,106696
,106696
,106691
,106597
,106573
,106488
,105828
,105748
,105723
,105678
,105325
,105249
,104979
,104967
,104859
,104788
,104612
,104468
,104177
,103945
,103859
,103850
,103667
,103636
,103628
,103602
,103565
,103537
,103534
,103523
,103272
,103269
,103248
,103195
,103175
,103093
,103031
,103022
,103004
,102978
,102948
,102922
,102767
,102587
,102492
,102432
,102368
,102338
,102322
,102300
,101984
,101862
,101689
,101685
,101678
,101610
,101425
,101370
,101368
,101328
,101238
,101233
,101005
,100988
,100838
,100686
,100563
,100403
,100164
,100104
,100052
,99897
,99835
,99507
,99257
,98840
,98817
,98777
,98747
,98500
,98487
,98259
,98072
,97865
,97801
,97690
,97630
,97607
,97593
,97547
,97456
,97426
,97391
,96911
,96869
,96700
,96488
,96378
,96376
,96345
,95848
,95822
,95720
,95419
,94927
,94649
,94600
,94532
,94488
,94270
,93994
,93931
,93842
,93818
,93712
,93537
,93405
,93339
,93283
,93159
,93048
,92980
,92954
,92953
,92883
,92431
,92160
,92136
,91946
,91890
,91842
,91707
,91408
,91204
,90998
,90912
,90888
,90863
,90512
,90379
,90198
,89971
,89945
,89780
,89575
,89517
,89447
,89414
,89318
,89313
,89276
,88954
,88930
,88563
,88392
,88382
,88228
,88226
,88185
,88179
,88140
,88128
,87974
,87788
,87719
,87705
,87676
,87501
,87367
,87274
,87232
,87186
,87184
,87176
,87172
,87054
,86975
,86964
,86812
,86811
,86703
,86479
,86378
,86208
,86085
,86037
,85921
,85801
,85738
,85581
,85541
,85503
,85430
,85285
,85167
,85068
,84899
,84314
,84140
,84125
,83792
,83717
,83670
,83622
,83514
,83225
,83158
,83153
,83006
,82970
,82961
,82911
,82892
,82824
,82806
,82740
,82727
,82675
,82656
,82466
,82409
,82376
,82329
,82288
,82138
,82073
,81994
,81892
,81814
,81801
,81750
,81745
,81695
,81466
,81428
,81356
,81243
,81217
,81139
,81020
,80967
,80828
,80697
,80584
,80572
,80559
,80475
,80456
,80444
,80316
,80308
,80283
,80242
,80178
,80159
,80075
,80005
,79980
,79886
,79864
,79754
,79598
,79555
,79490
,79403
,79388
,79320
,79302
,79154
,79068
,78906
,78824
,78727
,78705
,78642
,78617
,78590
,78498
,78487
,78475
,78239
,78195
,78165
,78132
,78117
,78116
,78078
,78077
,78076
,78003
,77983
,77962
,77959
,77931
,77912
,77907
,77736
,77701
,77548
,77538
,77449
,77418
,77406
,77307
,77239
,77188
,77163
,76886
,76862
,76855
,76815
,76749
,76723
,76613
,76591
,76521
,76488
,76487
,76473
,76445
,76435
,76432
,76266
,76194
,76193
,76183
,76172
,76159
,76077
,76069
,76066
,75947
,75928
,75920
,75730
,75712
,75533
,75440
,75423
,75385
,75140
,75033
,74936
,74847
,74823
,74821
,74815
,74758
,74757
,74547
,74537
,74531
,74517
,74463
,74432
,74401
,74362
,74313
,74303
,74285
,74255
,74250
,74241
,74215
,74152
,74140
,74123
,74104
,74070
,74000
,73895
,73835
,73752
,73732
,73714
,73705
,73689
,73630
,73579
,73549
,73528
,73332
,73307
,73286
,73250
,73202
,73177
,73146
,72989
,72920
,72872
,72809
,72808
,72789
,72780
,72780
,72758
,72587
,72574
,72452
,72447
,72342
,72283
,72265
,72162
,71963
,71931
,71911
,71852
,71523
,71489
,71424
,71400
,71300
,71244
,71095
,71094
,70983
,70957
,70889
,70875
,70846
,70782
,70768
,70638
,70633
,70575
,70549
,70527
,70458
,70448
,70418
,70400
,70347
,70343
,70255
,70185
,70181
,70170
,70147
,70078
,70069
,70026
,70005
,69999
,69937
,69930
,69921
,69908
,69843
,69825
,69789
,69732
,69713
,69646
,69617
,69610
,69523
,69510
,69489
,69479
,69465
,69431
,69400
,69395
,69346
,69338
,69288
,69269
,69260
,69207
,69145
,69104
,69100
,68950
,68808
,68776
,68765
,68649
,68598
,68562
,68510
,68475
,68431
,68412
,68335
,68334
,68287
,68273
,68202
,68199
,68057
,68047
,67994
,67971
,67955
,67946
,67894
,67758
,67647
,67645
,67615
,67578
,67573
,67520
,67448
,67401
,67395
,67378
,67372
,67344
,67280
,67259
,67070
,67041
,67005
,66945
,66933
,66844
,66780
,66758
,66660
,66655
,66578
,66468
,66388
,66382
,66379
,66368
,66332
,66318
,66261
,66163
,66129
,66121
,66057
,66037
,65960
,65888
,65848
,65637
,65563
,65460
,65457
,65452
,65372
,65366
,65339
,65323
,65311
,65307
,65291
,65281
,65273
,65255
,65226
,65148
,65145
,65140
,65113
,65079
,65067
,65058
,65001
,64910
,64903
,64895
,64894
,64878
,64830
,64797
,64746
,64743
,64714
,64712
,64701
,64667
,64614
,64592
,64588
,64555
,64547
,64527
,64482
,64471
,64451
,64442
,64328
,64297
,64270
,64206
,64185
,64183
,64160
,64148
,64146
,64137
,64093
,64072
,64071
,64018
,64008
,63891
,63829
,63812
,63710
,63706
,63669
,63535
,63520
,63495
,63461
,63408
,63403
,63397
,63387
,63378
,63329
,63323
,63308
,63270
,63267
,63164
,63105
,63092
,63072
,63065
,63040
,62919
,62908
,62832
,62828
,62780
,62732
,62712
,62681
,62648
,62618
,62582
,62572
,62561
,62510
,62486
,62480
,62455
,62454
,62424
,62407
,62391
,62363
,62326
,62314
,62310
,62280
,62277
,62267
,62175
,62173
,62161
,62110
,62109
,62107
,62100
,62098
,62091
,62072
,62070
,62010
,61982
,61979
,61939
,61937
,61896
,61846
,61836
,61795
,61789
,61652
,61621
,61621
,61562
,61559
,61557
,61537
,61498
,61497
,61482
,61462
,61460
,61437
,61427
,61408
,61391
,61356
,61309
,61303
,61302
,61286
,61247
,61163
,61151
,61077
,61036
,61028
,60992
,60972
,60951
,60950
,60948
,60925
,60829
,60822
,60805
,60792
,60750
,60672
,60671
,60663
,60571
,60536
,60512
,60489
,60472
,60424
,60360
,60346
,60307
,60293
,60279
,60147
,60141
,59954
,59945
,59913
,59845
,59839
,59764
,59751
,59737
,59715
,59669
,59665
,59652
,59627
,59596
,59576
,59559
,59558
,59543
,59524
,59520
,59392
,59293
,59253
,59241
,59233
,59153
,59142
,59141
,59139
,59134
,59068
,59048
,58994
,58939
,58916
,58906
,58905
,58898
,58880
,58878
,58852
,58792
,58774
,58769
,58716
,58608
,58604
,58600
,58583
,58562
,58519
,58484
,58475
,58458
,58451
,58435
,58430
,58427
,58411
,58390
,58385
,58383
,58367
,58356
,58326
,58301
,58298
,58269
,58249
,58194
,58168
,58153
,58116
,58094
,57996
,57944
,57936
,57928
,57873
,57851
,57838
,57792
,57788
,57719
,57691
,57642
,57637
,57597
,57594
,57587
,57564
,57485
,57476
,57463
,57428
,57420
,57400
,57390
,57370
,57340
,57332
,57303
,57236
,57210
,57177
,57163
,57141
,57065
,57053
,57028
,57020
,56996
,56985
,56920
,56912
,56887
,56838
,56802
,56789
,56786
,56770
,56756
,56712
,56704
,56698
,56672
,56661
,56645
,56629
,56619
,56603
,56568
,56540
,56529
,56514
,56451
,56442
,56310
,56309
,56291
,56266
,56257
,56223
,56134
,56103
,56098
,56095
,56074
,56050
,56031
,56018
,56004
,55994
,55984
,55934
,55907
,55906
,55829
,55800
,55792
,55758
,55747
,55728
,55727
,55710
,55702
,55669
,55633
,55625
,55613
,55552
,55510
,55468
,55439
,55438
,55364
,55310
,55272
,55269
,55262
,55131
,55107
,55088
,55036
,55019
,55009
,54970
,54956
,54938
,54898
,54887
,54882
,54844
,54780
,54774
,54766
,54746
,54704
,54700
,54652
,54648
,54635
,54625
,54615
,54593
,54588
,54574
,54562
,54509
,54497
,54490
,54449
,54440
,54434
,54426
,54398
,54387
,54374
,54365
,54332
,54328
,54315
,54291
,54281
,54270
,54221
,54191
,54169
,54146
,54125
,54124
,54062
,54059
,54032
,54022
,54013
,54008
,53972
,53950
,53910
,53905
,53889
,53885
,53799
,53734
,53733
,53722
,53706
,53706
,53660
,53638
,53608
,53604
,53595
,53589
,53576
,53576
,53556
,53554
,53553
,53524
,53524
,53505
,53486
,53476
,53452
,53439
,53413
,53409
,53408
,53406
,53308
,53302
,53295
,53261
,53247
,53238
,53210
,53206
,53172
,53151
,53139
,53123
,53108
,53075
,53067
,53007
,53004
,52996
,52969
,52969
,52936
,52919
,52908
,52863
,52846
,52809
,52806
,52736
,52687
,52683
,52635
,52596
,52573
,52559
,52557
,52512
,52479
,52464
,52448
,52418
,52418
,52404
,52383
,52381
,52341
,52276
,52252
,52248
,52203
,52194
,52152
,52141
,52134
,52099
,52072
,51992
,51990
,51972
,51971
,51950
,51948
,51947
,51903
,51898
,51876
,51816
,51809
,51800
,51756
,51723
,51684
,51647
,51619
,51616
,51602
,51600
,51590
,51566
,51553
,51552
,51543
,51505
,51471
,51466
,51361
,51316
,51310
,51306
,51305
,51277
,51216
,51207
,51200
,51189
,51158
,51156
,51113
,51112
,51108
,51100
,51099
,51077
,51063
,51029
,50972
,50971
,50967
,50951
,50922
,50921
,50904
,50899
,50839
,50828
,50792
,50785
,50785
,50784
,50779
,50779
,50754
,50737
,50717
,50711
,50701
,50694
,50679
,50678
,50659
,50631
,50588
,50580
,50534
,50522
,50448
,50433
,50424
,50424
,50404
,50389
,50381
,50373
,50330
,50312
,50311
,50300
,50299
,50293
,50290
,50266
,50265
,50218
,50186
,50156
,50150
,50147
,50127
,50117
,50083
,50060
,50023
,49982
,49961
,49953
,49946
,49939
,49933
,49932
,49913
,49892
,49833
,49813
,49775
,49698
,49672
,49649
,49637
,49627
,49620
,49613
,49595
,49569
,49555
,49543
,49540
,49534
,49524
,49518
,49497
,49463
,49449
,49426
,49392
,49385
,49370
,49352
,49348
,49345
,49293
,49268
,49256
,49252
,49249
,49238
,49212
,49205
,49196
,49167
,49151
,49133
,48990
,48973
,48944
,48938
,48921
,48918
,48891
,48887
,48851
,48812
,48787
,48759
,48752
,48749
,48729
,48725
,48718
,48695
,48580
,48577
,48550
,48547
,48504
,48498
,48480
,48477
,48455
,48436
,48398
,48387
,48384
,48380
,48371
,48366
,48350
,48282
,48253
,48224
,48211
,48192
,48146
,48124
,48123
,48089
,48080
,48034
,48023
,48010
,47977
,47974
,47973
,47942
,47921
,47910
,47909
,47891
,47889
,47878
,47855
,47831
,47826
,47821
,47739
,47718
,47710
,47693
,47680
,47674
,47647
,47642
,47626
,47612
,47607
,47539
,47527
,47517
,47495
,47491
,47490
,47469
,47467
,47426
,47370
,47347
,47343
,47314
,47305
,47289
,47234
,47233
,47175
,47172
,47147
,47140
,47137
,47111
,47090
,47082
,47070
,47037
,47025
,47021
,47016
,47015
,46987
,46938
,46934
,46931
,46920
,46903
,46888
,46840
,46823
,46820
,46820
,46812
,46790
,46774
,46759
,46757
,46738
,46716
,46707
,46702
,46699
,46657
,46654
,46616
,46607
,46593
,46542
,46541
,46500
,46498
,46464
,46450
,46431
,46431
,46424
,46368
,46364
,46328
,46327
,46313
,46289
,46267
,46265
,46251
,46232
,46228
,46211
,46178
,46133
,46126
,46111
,46108
,46102
,46097
,46096
,46085
,46012
,46005
,45986
,45985
,45982
,45924
,45920
,45908
,45902
,45813
,45788
,45777
,45769
,45751
,45731
,45727
,45713
,45709
,45696
,45695
,45671
,45668
,45663
,45645
,45643
,45633
,45633
,45598
,45586
,45569
,45558
,45552
,45510
,45508
,45440
,45391
,45389
,45358
,45358
,45327
,45309
,45275
,45271
,45200
,45192
,45182
,45159
,45151
,45136
,45118
,45083
,45075
,45061
,45060
,45041
,44996
,44996
,44995
,44995
,44993
,44989
,44980
,44973
,44972
,44958
,44946
,44935
,44921
,44911
,44897
,44893
,44877
,44873
,44817
,44806
,44776
,44761
,44753
,44739
,44712
,44701
,44686
,44653
,44629
,44571
,44552
,44546
,44533
,44529
,44525
,44507
,44505
,44487
,44486
,44454
,44417
,44401
,44368
,44365
,44356
,44348
,44348
,44304
,44289
,44255
,44253
,44252
,44210
,44190
,44178
,44148
,44143
,44139
,44117
,44113
,44107
,44100
,44091
,44086
,44083
,44077
,43989
,43987
,43965
,43945
,43940
,43919
,43916
,43914
,43914
,43912
,43879
,43871
,43870
,43827
,43826
,43824
,43815
,43789
,43760
,43735
,43729
,43696
,43657
,43648
,43580
,43573
,43550
,43538
,43532
,43529
,43506
,43497
,43496
,43488
,43486
,43455
,43449
,43435
,43417
,43403
,43369
,43351
,43347
,43319
,43319
,43309
,43299
,43298
,43280
,43267
,43263
,43261
,43250
,43214
,43209
,43203
,43203
,43203
,43180
,43160
,43152
,43106
,43101
,43069
,43060
,43040
,43038
,43012
,43007
,43001
,42982
,42980
,42975
,42968
,42954
,42952
,42944
,42935
,42924
,42921
,42897
,42893
,42885
,42882
,42864
,42852
,42833
,42821
,42816
,42816
,42816
,42815
,42799
,42788
,42759
,42742
,42718
,42679
,42673
,42622
,42587
,42568
,42562
,42558
,42547
,42536
,42525
,42515
,42504
,42500
,42497
,42485
,42474
,42452
,42447
,42446
,42446
,42435
,42435
,42432
,42429
,42413
,42399
,42392
,42372
,42369
,42345
,42342
,42315
,42294
,42294
,42281
,42279
,42277
,42277
,42271
,42270
,42258
,42257
,42253
,42240
,42183
,42175
,42169
,42167
,42143
,42132
,42128
,42104
,42100
,42083
,42071
,42051
,42040
,42036
,42004
,42000
,41980
,41980
,41951
,41942
,41939
,41923
,41913
,41909
,41898
,41849
,41832
,41829
,41809
,41805
,41800
,41791
,41782
,41782
,41777
,41773
,41762
,41758
,41756
,41745
,41743
,41739
,41729
,41725
,41709
,41702
,41697
,41685
,41632
,41627
,41614
,41608
,41607
,41601
,41578
,41560
,41557
,41554
,41541
,41527
,41525
,41499
,41459
,41455
,41443
,41397
,41377
,41373
,41371
,41368
,41353
,41351
,41318
,41313
,41294
,41286
,41278
,41261
,41236
,41222
,41203
,41180
,41180
,41169
,41107
,41102
,41101
,41097
,41095
,41095
,41086
,41082
,41062
,41059
,41047
,41030
,41026
,40996
,40992
,40981
,40968
,40967
,40937
,40929
,40905
,40901
,40900
,40899
,40890
,40885
,40856
,40847
,40845
,40839
,40827
,40824
,40816
,40809
,40791
,40770
,40756
,40751
,40748
,40744
,40735
,40709
,40701
,40691
,40684
,40681
,40677
,40672
,40666
,40663
,40631
,40628
,40621
,40613
,40585
,40580
,40580
,40575
,40570
,40565
,40559
,40547
,40534
,40528
,40507
,40485
,40485
,40470
,40436
,40424
,40412
,40406
,40399
,40383
,40362
,40356
,40351
,40340
,40334
,40330
,40326
,40313
,40301
,40296
,40295
,40276
,40252
,40225
,40219
,40216
,40196
,40178
,40165
,40130
,40128
,40103
,40098
,40087
,40084
,40076
,40074
,40064
,40060
,40057
,40056
,40055
,40046
,40041
,40032
,40014
,39986
,39983
,39982
,39979
,39978
,39935
,39933
,39932
,39930
,39929
,39909
,39902
,39889
,39889
,39876
,39864
,39862
,39861
,39857
,39856
,39847
,39837
,39836
,39815
,39787
,39787
,39724
,39717
,39705
,39698
,39693
,39690
,39671
,39663
,39658
,39620
,39616
,39610
,39579
,39515
,39515
,39509
,39494
,39453
,39446
,39445
,39418
,39417
,39413
,39409
,39392
,39383
,39346
,39342
,39342
,39331
,39325
,39294
,39292
,39288
,39271
,39249
,39240
,39238
,39180
,39170
,39155
,39143
,39125
,39089
,39088
,39085
,39074
,39057
,39046
,39030
,39020
,39018
,39013
,39009
,38966
,38956
,38952
,38951
,38937
,38934
,38922
,38897
,38895
,38883
,38879
,38875
,38865
,38862
,38857
,38837
,38825
,38818
,38811
,38810
,38798
,38752
,38719
,38716
,38708
,38706
,38694
,38692
,38651
,38614
,38597
,38577
,38568
,38567
,38558
,38540
,38540
,38536
,38531
,38525
,38514
,38509
,38500
,38489
,38481
,38477
,38475
,38466
,38455
,38438
,38415
,38415
,38391
,38389
,38384
,38383
,38377
,38351
,38345
,38339
,38339
,38333
,38328
,38324
,38319
,38316
,38286
,38285
,38274
,38264
,38262
,38260
,38251
,38246
,38226
,38222
,38210
,38195
,38194
,38191
,38188
,38161
,38155
,38151
,38144
,38139
,38131
,38125
,38116
,38113
,38106
,38104
,38091
,38084
,38081
,38073
,38053
,38053
,38042
,38040
,38032
,37992
,37989
,37979
,37977
,37952
,37951
,37933
,37932
,37874
,37864
,37849
,37846
,37842
,37837
,37824
,37823
,37804
,37801
,37798
,37790
,37788
,37782
,37778
,37776
,37771
,37769
,37768
,37767
,37760
,37751
,37750
,37748
,37745
,37739
,37737
,37734
,37707
,37707
,37685
,37674
,37669
,37667
,37666
,37654
,37651
,37639
,37638
,37637
,37615
,37614
,37613
,37591
,37579
,37573
,37557
,37556
,37546
,37539
,37522
,37516
,37493
,37492
,37487
,37482
,37468
,37462
,37456
,37455
,37444
,37408
,37386
,37382
,37382
,37370
,37352
,37349
,37347
,37342
,37327
,37317
,37300
,37277
,37276
,37275
,37259
,37240
,37239
,37229
,37225
,37224
,37209
,37194
,37192
,37182
,37175
,37154
,37146
,37137
,37135
,37134
,37134
,37132
,37128
,37120
,37115
,37104
,37104
,37099
,37084
,37083
,37078
,37076
,37066
,37058
,37054
,37050
,37036
,37035
,37027
,37025
,37010
,37009
,37005
,36996
,36963
,36960
,36945
,36919
,36918
,36918
,36916
,36914
,36914
,36912
,36900
,36856
,36845
,36843
,36835
,36829
,36824
,36815
,36791
,36784
,36769
,36745
,36744
,36739
,36736
,36734
,36725
,36723
,36721
,36710
,36705
,36685
,36683
,36653
,36653
,36645
,36644
,36634
,36624
,36611
,36600
,36594
,36587
,36574
,36567
,36559
,36528
,36517
,36502
,36498
,36462
,36452
,36449
,36445
,36440
,36436
,36431
,36420
,36408
,36390
,36380
,36351
,36348
,36333
,36332
,36300
,36271
,36269
,36264
,36260
,36256
,36250
,36248
,36242
,36237
,36226
,36226
,36226
,36215
,36206
,36193
,36184
,36152
,36151
,36150
,36145
,36145
,36130
,36129
,36128
,36122
,36112
,36110
,36101
,36082
,36068
,36059
,36055
,36050
,36050
,36043
,36041
,36038
,36035
,36032
,36024
,36022
,36021
,35996
,35990
,35985
,35981
,35980
,35976
,35973
,35952
,35950
,35946
,35941
,35936
,35927
,35906
,35889
,35886
,35869
,35866
,35839
,35832
,35829
,35828
,35822
,35822
,35814
,35812
,35804
,35787
,35773
,35759
,35753
,35729
,35719
,35713
,35709
,35702
,35698
,35697
,35692
,35683
,35665
,35664
,35652
,35636
,35628
,35626
,35620
,35615
,35614
,35597
,35588
,35579
,35543
,35537
,35534
,35532
,35516
,35515
,35505
,35498
,35498
,35497
,35495
,35495
,35492
,35483
,35461
,35424
,35417
,35414
,35414
,35411
,35397
,35372
,35362
,35335
,35334
,35327
,35314
,35313
,35312
,35305
,35300
,35294
,35287
,35275
,35257
,35243
,35237
,35235
,35225
,35220
,35202
,35182
,35179
,35162
,35149
,35146
,35144
,35131
,35125
,35124
,35116
,35114
,35094
,35091
,35075
,35071
,35068
,35047
,35046
,35044
,35042
,35037
,35026
,35007
,35005
,35003
,35001
,34996
,34988
,34966
,34956
,34954
,34946
,34944
,34936
,34932
,34913
,34908
,34903
,34892
,34838
,34834
,34833
,34829
,34813
,34809
,34807
,34799
,34798
,34767
,34766
,34738
,34717
,34704
,34696
,34689
,34688
,34678
,34663
,34654
,34652
,34646
,34640
,34639
,34638
,34633
,34625
,34608
,34604
,34598
,34598
,34589
,34577
,34577
,34576
,34576
,34571
,34566
,34562
,34561
,34555
,34553
,34550
,34549
,34549
,34540
,34539
,34537
,34535
,34527
,34527
,34516
,34511
,34510
,34505
,34493
,34483
,34474
,34473
,34468
,34468
,34457
,34457
,34454
,34450
,34443
,34434
,34425
,34422
,34412
,34405
,34403
,34393
,34389
,34386
,34384
,34379
,34375
,34371
,34359
,34357
,34349
,34347
,34337
,34334
,34333
,34327
,34325
,34319
,34316
,34316
,34314
,34314
,34308
,34294
,34293
,34292
,34279
,34274
,34273
,34271
,34254
,34252
,34223
,34207
,34199
,34198
,34196
,34196
,34177
,34175
,34169
,34165
,34156
,34148
,34136
,34134
,34132
,34128
,34121
,34116
,34110
,34102
,34096
,34094
,34092
,34091
,34071
,34059
,34046
,34045
,34041
,34038
,34022
,34019
,34017
,34007
,34003
,33999
,33997
,33993
,33993
,33991
,33991
,33991
,33987
,33966
,33965
,33964
,33952
,33947
,33940
,33932
,33930
,33930
,33927
,33917
,33908
,33894
,33882
,33881
,33881
,33871
,33867
,33864
,33853
,33850
,33849
,33849
,33849
,33846
,33827
,33816
,33811
,33809
,33806
,33789
,33786
,33784
,33782
,33777
,33777
,33777
,33771
,33763
,33751
,33746
,33745
,33741
,33731
,33721
,33707
,33707
,33696
,33690
,33689
,33686
,33682
,33682
,33680
,33676
,33668
,33662
,33661
,33656
,33650
,33645
,33641
,33620
,33614
,33593
,33582
,33580
,33578
,33576
,33576
,33566
,33565
,33543
,33542
,33533
,33530
,33528
,33522
,33517
,33515
,33506
,33501
,33495
,33476
,33470
,33455
,33441
,33434
,33434
,33433
,33430
,33411
,33408
,33402
,33399
,33384
,33376
,33372
,33364
,33359
,33356
,33348
,33344
,33341
,33332
,33328
,33316
,33314
,33311
,33304
,33295
,33289
,33280
,33273
,33253
,33253
,33253
,33251
,33245
,33245
,33243
,33239
,33232
,33221
,33215
,33199
,33197
,33174
,33174
,33174
,33173
,33163
,33151
,33150
,33138
,33133
,33129
,33127
,33122
,33121
,33117
,33112
,33087
,33087
,33086
,33086
,33081
,33077
,33073
,33071
,33071
,33046
,33028
,33028
,33019
,33017
,33011
,32991
,32970
,32959
,32957
,32949
,32934
,32933
,32932
,32926
,32925
,32913
,32902
,32898
,32895
,32884
,32884
,32870
,32847
,32842
,32841
,32836
,32830
,32829
,32827
,32816
,32808
,32806
,32801
,32797
,32771
,32766
,32765
,32765
,32764
,32755
,32742
,32736
,32728
,32725
,32722
,32721
,32715
,32700
,32689
,32687
,32678
,32676
,32662
,32650
,32643
,32641
,32621
,32614
,32599
,32595
,32594
,32594
,32589
,32589
,32589
,32585
,32583
,32580
,32573
,32560
,32556
,32551
,32544
,32542
,32514
,32512
,32494
,32491
,32487
,32472
,32471
,32468
,32458
,32456
,32445
,32441
,32439
,32438
,32437
,32437
,32433
,32431
,32430
,32418
,32414
,32401
,32401
,32400
,32390
,32379
,32367
,32367
,32356
,32350
,32345
,32341
,32337
,32335
,32328
,32317
,32312
,32302
,32298
,32293
,32293
,32285
,32276
,32272
,32265
,32264
,32261
,32252
,32244
,32240
,32236
,32228
,32224
,32214
,32202
,32195
,32194
,32179
,32166
,32166
,32162
,32162
,32158
,32154
,32150
,32150
,32146
,32145
,32141
,32128
,32119
,32113
,32112
,32108
,32108
,32108
,32106
,32106
,32097
,32096
,32093
,32085
,32077
,32076
,32068
,32060
,32057
,32054
,32041
,32039
,32038
,32028
,32028
,32022
,32015
,32001
,31995
,31995
,31985
,31980
,31977
,31969
,31964
,31961
,31955
,31951
,31951
,31947
,31944
,31944
,31941
,31939
,31938
,31937
,31932
,31930
,31929
,31927
,31926
,31914
,31910
,31907
,31896
,31894
,31890
,31885
,31882
,31881
,31872
,31864
,31863
,31854
,31851
,31851
,31842
,31836
,31829
,31824
,31813
,31804
,31782
,31765
,31761
,31753
,31744
,31742
,31734
,31731
,31728
,31727
,31724
,31711
,31708
,31704
,31694
,31688
,31684
,31681
,31667
,31660
,31650
,31640
,31633
,31631
,31628
,31627
,31624
,31620
,31618
,31614
,31609
,31583
,31567
,31550
,31545
,31545
,31544
,31532
,31518
,31515
,31509
,31507
,31507
,31503
,31494
,31492
,31481
,31476
,31471
,31470
,31461
,31450
,31449
,31446
,31444
,31438
,31436
,31417
,31415
,31413
,31413
,31410
,31403
,31398
,31389
,31389
,31374
,31360
,31354
,31350
,31348
,31343
,31342
,31338
,31327
,31323
,31320
,31309
,31302
,31297
,31294
,31279
,31275
,31271
,31262
,31241
,31223
,31220
,31213
,31196
,31191
,31185
,31175
,31173
,31173
,31162
,31158
,31146
,31139
,31134
,31129
,31129
,31126
,31126
,31123
,31123
,31116
,31114
,31112
,31097
,31093
,31092
,31091
,31089
,31088
,31075
,31073
,31066
,31057
,31057
,31050
,31048
,31038
,31029
,31023
,31009
,31008
,31004
,30998
,30998
,30995
,30993
,30985
,30982
,30974
,30973
,30970
,30969
,30958
,30947
,30947
,30946
,30940
,30933
,30927
,30925
,30909
,30908
,30906
,30905
,30904
,30894
,30889
,30887
,30882
,30881
,30875
,30870
,30861
,30861
,30848
,30843
,30836
,30834
,30823
,30822
,30821
,30805
,30801
,30795
,30787
,30780
,30778
,30767
,30765
,30765
,30763
,30749
,30730
,30727
,30727
,30725
,30725
,30722
,30722
,30707
,30703
,30697
,30686
,30669
,30658
,30652
,30634
,30631
,30631
,30619
,30607
,30595
,30594
,30591
,30590
,30585
,30580
,30577
,30561
,30560
,30557
,30557
,30555
,30539
,30529
,30524
,30513
,30505
,30497
,30497
,30492
,30490
,30488
,30482
,30481
,30476
,30475
,30474
,30474
,30471
,30468
,30462
,30461
,30459
,30459
,30450
,30450
,30448
,30447
,30447
,30443
,30438
,30431
,30430
,30424
,30424
,30421
,30411
,30396
,30388
,30382
,30366
,30361
,30350
,30349
,30349
,30345
,30344
,30340
,30336
,30325
,30322
,30319
,30314
,30311
,30309
,30307
,30303
,30298
,30297
,30294
,30294
,30293
,30286
,30280
,30268
,30263
,30258
,30258
,30258
,30255
,30233
,30229
,30227
,30213
,30212
,30206
,30204
,30204
,30191
,30185
,30165
,30165
,30163
,30158
,30153
,30152
,30151
,30149
,30149
,30139
,30137
,30133
,30130
,30129
,30128
,30123
,30121
,30120
,30106
,30103
,30099
,30081
,30081
,30081
,30080
,30072
,30069
,30064
,30061
,30061
,30060
,30056
,30055
,30050
,30046
,30030
,30009
,29998
,29984
,29983
,29982
,29980
,29980
,29961
,29955
,29945
,29936
,29931
,29926
,29923
,29900
,29900
,29886
,29883
,29880
,29875
,29868
,29863
,29860
,29857
,29855
,29834
,29823
,29821
,29821
,29821
,29820
,29818
,29810
,29810
,29806
,29801
,29798
,29797
,29791
,29786
,29769
,29767
,29745
,29743
,29735
,29728
,29728
,29723
,29713
,29708
,29699
,29698
,29697
,29692
,29689
,29685
,29681
,29665
,29665
,29660
,29653
,29652
,29644
,29642
,29641
,29631
,29628
,29627
,29626
,29613
,29606
,29595
,29590
,29586
,29585
,29582
,29573
,29570
,29557
,29556
,29555
,29552
,29550
,29546
,29543
,29542
,29538
,29529
,29524
,29524
,29522
,29521
,29519
,29512
,29507
,29506
,29498
,29498
,29494
,29479
,29477
,29471
,29470
,29467
,29466
,29462
,29461
,29460
,29459
,29457
,29455
,29454
,29446
,29446
,29418
,29414
,29412
,29407
,29404
,29402
,29400
,29400
,29396
,29389
,29384
,29380
,29373
,29373
,29372
,29371
,29363
,29362
,29360
,29358
,29331
,29320
,29320
,29308
,29306
,29302
,29295
,29290
,29289
,29281
,29281
,29280
,29278
,29277
,29275
,29270
,29261
,29251
,29245
,29233
,29231
,29228
,29217
,29207
,29204
,29202
,29201
,29193
,29187
,29184
,29183
,29182
,29176
,29167
,29158
,29153
,29149
,29148
,29137
,29134
,29125
,29122
,29120
,29119
,29116
,29105
,29094
,29074
,29073
,29069
,29068
,29058
,29057
,29052
,29051
,29051
,29050
,29049
,29045
,29041
,29028
,29026
,29023
,29022
,29019
,29017
,29012
,29009
,29009
,29005
,29005
,28999
,28998
,28994
,28993
,28987
,28984
,28981
,28972
,28969
,28955
,28941
,28939
,28934
,28933
,28924
,28923
,28921
,28913
,28912
,28909
,28904
,28903
,28892
,28891
,28881
,28877
,28869
,28862
,28850
,28848
,28845
,28839
,28838
,28834
,28829
,28822
,28806
,28803
,28799
,28798
,28796
,28790
,28785
,28782
,28772
,28759
,28754
,28754
,28748
,28747
,28734
,28728
,28728
,28724
,28724
,28724
,28712
,28708
,28704
,28700
,28700
,28698
,28693
,28692
,28692
,28690
,28687
,28682
,28678
,28677
,28677
,28676
,28673
,28663
,28649
,28648
,28630
,28628
,28626
,28622
,28622
,28621
,28615
,28614
,28614
,28607
,28603
,28602
,28594
,28593
,28587
,28585
,28583
,28583
,28582
,28560
,28554
,28550
,28548
,28540
,28536
,28532
,28517
,28502
,28498
,28494
,28494
,28493
,28490
,28483
,28475
,28471
,28469
,28465
,28458
,28457
,28452
,28449
,28446
,28442
,28436
,28435
,28424
,28417
,28405
,28400
,28400
,28393
,28391
,28390
,28389
,28388
,28372
,28353
,28352
,28349
,28343
,28341
,28337
,28336
,28329
,28327
,28323
,28321
,28318
,28316
,28296
,28296
,28284
,28276
,28274
,28265
,28264
,28241
,28237
,28234
,28233
,28231
,28226
,28226
,28216
,28213
,28207
,28190
,28185
,28184
,28179
,28173
,28169
,28167
,28167
,28166
,28161
,28160
,28149
,28149
,28145
,28141
,28140
,28132
,28129
,28122
,28109
,28104
,28099
,28092
,28080
,28080
,28076
,28073
,28071
,28067
,28061
,28058
,28055
,28042
,28042
,28039
,28038
,28030
,28028
,28028
,28025
,28025
,28024
,28024
,28022
,28022
,28019
,28017
,28007
,27989
,27982
,27979
,27975
,27968
,27967
,27964
,27962
,27952
,27946
,27939
,27936
,27933
,27926
,27918
,27915
,27914
,27907
,27907
,27906
,27904
,27898
,27898
,27895
,27892
,27872
,27871
,27868
,27864
,27838
,27838
,27830
,27825
,27820
,27818
,27811
,27803
,27785
,27780
,27778
,27776
,27772
,27768
,27754
,27751
,27749
,27746
,27745
,27739
,27738
,27736
,27730
,27728
,27727
,27723
,27714
,27712
,27706
,27706
,27705
,27699
,27693
,27691
,27690
,27688
,27686
,27686
,27676
,27674
,27672
,27670
,27669
,27668
,27667
,27665
,27663
,27662
,27653
,27650
,27649
,27648
,27638
,27625
,27624
,27616
,27614
,27609
,27609
,27609
,27608
,27595
,27589
,27585
,27580
,27577
,27576
,27575
,27574
,27572
,27570
,27568
,27563
,27560
,27559
,27557
,27555
,27553
,27552
,27552
,27551
,27532
,27525
,27517
,27506
,27504
,27499
,27499
,27499
,27496
,27496
,27496
,27485
,27482
,27470
,27468
,27465
,27464
,27460
,27459
,27458
,27457
,27457
,27455
,27453
,27450
,27449
,27443
,27432
,27429
,27428
,27428
,27415
,27412
,27411
,27410
,27405
,27404
,27404
,27401
,27397
,27396
,27392
,27389
,27387
,27384
,27380
,27379
,27379
,27373
,27373
,27360
,27358
,27335
,27330
,27330
,27317
,27314
,27311
,27309
,27309
,27301
,27294
,27294
,27286
,27284
,27283
,27280
,27276
,27275
,27261
,27257
,27254
,27249
,27243
,27242
,27242
,27235
,27231
,27225
,27223
,27223
,27216
,27213
,27210
,27205
,27204
,27201
,27196
,27193
,27193
,27192
,27189
,27186
,27184
,27179
,27175
,27174
,27172
,27168
,27161
,27148
,27148
,27145
,27141
,27137
,27136
,27136
,27134
,27133
,27130
,27124
,27122
,27117
,27108
,27107
,27106
,27102
,27099
,27093
,27090
,27089
,27082
,27080
,27073
,27060
,27059
,27054
,27053
,27049
,27046
,27046
,27044
,27043
,27040
,27030
,27030
,27028
,27027
,27021
,27014
,27006
,27005
,26998
,26993
,26991
,26988
,26985
,26983
,26978
,26971
,26969
,26966
,26961
,26954
,26937
,26932
,26932
,26930
,26925
,26924
,26919
,26912
,26911
,26908
,26906
,26903
,26898
,26894
,26893
,26889
,26888
,26885
,26879
,26873
,26873
,26871
,26869
,26862
,26862
,26850
,26845
,26843
,26840
,26834
,26815
,26813
,26813
,26808
,26805
,26794
,26792
,26778
,26767
,26760
,26754
,26753
,26751
,26747
,26735
,26734
,26728
,26728
,26725
,26722
,26716
,26708
,26708
,26693
,26691
,26689
,26681
,26679
,26675
,26673
,26672
,26667
,26660
,26659
,26655
,26653
,26649
,26649
,26634
,26633
,26625
,26624
,26618
,26617
,26617
,26608
,26608
,26596
,26595
,26594
,26592
,26589
,26589
,26588
,26586
,26584
,26582
,26580
,26575
,26573
,26570
,26567
,26567
,26565
,26564
,26557
,26556
,26548
,26546
,26536
,26529
,26525
,26522
,26515
,26514
,26509
,26508
,26504
,26502
,26499
,26492
,26491
,26485
,26483
,26482
,26481
,26479
,26475
,26473
,26472
,26471
,26467
,26466
,26463
,26461
,26458
,26456
,26453
,26446
,26441
,26441
,26437
,26436
,26427
,26417
,26413
,26411
,26410
,26405
,26403
,26389
,26388
,26388
,26385
,26385
,26384
,26383
,26381
,26379
,26357
,26351
,26349
,26342
,26338
,26336
,26328
,26324
,26321
,26320
,26317
,26316
,26315
,26312
,26307
,26304
,26302
,26292
,26283
,26281
,26281
,26277
,26275
,26275
,26273
,26271
,26268
,26265
,26265
,26263
,26258
,26255
,26255
,26254
,26252
,26249
,26247
,26246
,26244
,26243
,26238
,26237
,26236
,26235
,26234
,26231
,26226
,26223
,26218
,26211
,26211
,26210
,26209
,26206
,26204
,26202
,26200
,26197
,26196
,26196
,26195
,26193
,26180
,26175
,26175
,26169
,26166
,26165
,26165
,26163
,26151
,26148
,26148
,26147
,26141
,26137
,26136
,26134
,26130
,26127
,26124
,26123
,26117
,26112
,26110
,26106
,26105
,26101
,26099
,26097
,26089
,26089
,26085
,26083
,26083
,26082
,26079
,26079
,26076
,26074
,26073
,26073
,26071
,26070
,26057
,26050
,26050
,26048
,26048
,26046
,26039
,26036
,26033
,26033
,26033
,26030
,26028
,26025
,26023
,26023
,26019
,25994
,25986
,25985
,25981
,25981
,25977
,25970
,25969
,25967
,25961
,25960
,25958
,25957
,25956
,25955
,25955
,25945
,25944
,25944
,25943
,25941
,25938
,25934
,25933
,25930
,25927
,25925
,25918
,25916
,25913
,25909
,25899
,25899
,25899
,25894
,25892
,25890
,25886
,25886
,25886
,25881
,25880
,25880
,25871
,25866
,25862
,25860
,25858
,25853
,25851
,25833
,25830
,25828
,25825
,25817
,25810
,25809
,25808
,25802
,25794
,25792
,25788
,25786
,25786
,25786
,25785
,25776
,25776
,25774
,25764
,25750
,25744
,25740
,25735
,25733
,25728
,25722
,25721
,25718
,25716
,25714
,25704
,25694
,25689
,25689
,25687
,25685
,25684
,25680
,25671
,25670
,25668
,25667
,25666
,25662
,25661
,25656
,25652
,25651
,25649
,25647
,25644
,25641
,25638
,25634
,25632
,25629
,25627
,25623
,25623
,25614
,25608
,25607
,25605
,25595
,25589
,25585
,25583
,25583
,25578
,25573
,25571
,25570
,25566
,25558
,25553
,25553
,25549
,25541
,25540
,25536
,25533
,25523
,25512
,25507
,25507
,25505
,25505
,25505
,25503
,25502
,25501
,25501
,25500
,25500
,25498
,25497
,25494
,25486
,25473
,25467
,25466
,25462
,25458
,25457
,25447
,25447
,25444
,25443
,25441
,25440
,25439
,25437
,25436
,25433
,25433
,25425
,25424
,25415
,25414
,25401
,25400
,25398
,25395
,25392
,25391
,25388
,25386
,25386
,25386
,25385
,25376
,25376
,25374
,25368
,25368
,25367
,25366
,25364
,25364
,25358
,25358
,25356
,25354
,25352
,25345
,25343
,25342
,25337
,25336
,25329
,25329
,25328
,25327
,25325
,25320
,25319
,25313
,25311
,25309
,25305
,25299
,25293
,25293
,25291
,25286
,25283
,25283
,25282
,25274
,25273
,25273
,25272
,25269
,25269
,25269
,25262
,25261
,25261
,25255
,25252
,25249
,25240
,25238
,25238
,25236
,25235
,25235
,25231
,25231
,25226
,25225
,25218
,25216
,25215
,25214
,25214
,25201
,25197
,25195
,25194
,25182
,25181
,25180
,25175
,25173
,25165
,25152
,25147
,25147
,25142
,25138
,25135
,25125
,25125
,25125
,25117
,25109
,25106
,25106
,25100
,25099
,25096
,25094
,25090
,25090
,25089
,25083
,25080
,25080
,25077
,25076
,25071
,25067
,25058
,25057
,25055
,25054
,25051
,25040
,25039
,25037
,25035
,25028
,25025
,25022
,25015
,25015
,25015
,25014
,25010
,25007
,25006
,25002
,24998
,24991
,24983
,24980
,24976
,24976
,24972
,24972
,24970
,24970
,24969
,24953
,24946
,24944
,24943
,24943
,24935
,24933
,24933
,24920
,24916
,24915
,24913
,24910
,24904
,24899
,24895
,24885
,24885
,24881
,24881
,24881
,24879
,24878
,24877
,24875
,24873
,24871
,24863
,24862
,24859
,24859
,24858
,24857
,24856
,24855
,24850
,24849
,24846
,24844
,24843
,24843
,24842
,24838
,24836
,24835
,24834
,24830
,24828
,24826
,24823
,24820
,24816
,24815
,24815
,24808
,24807
,24807
,24798
,24797
,24792
,24789
,24787
,24785
,24780
,24772
,24771
,24761
,24761
,24754
,24743
,24735
,24731
,24730
,24726
,24725
,24724
,24721
,24716
,24715
,24713
,24712
,24711
,24705
,24704
,24701
,24700
,24692
,24684
,24681
,24680
,24678
,24672
,24671
,24671
,24671
,24664
,24663
,24656
,24655
,24651
,24650
,24648
,24648
,24647
,24646
,24643
,24642
,24639
,24638
,24636
,24634
,24633
,24630
,24617
,24614
,24613
,24611);

Footnotes

  1. ハローワールドのみならず、様々な分野の一線で使われている 頻出ハローワールドだと思います。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment