ゲノムワイドアソシエーションスタ
ディにおける、多仮説検定事情
第2回
インフォマティクス研究者と医学研究者の交流会
平成19年11月22日-23日
東京大学 柏キャンパス
東京大学医科学研究所
ヒトゲノム解析センター
ゲノム機能解析分野
山田 亮
内容
• 仮説検定と、複数の独立な仮説の検定につ
いて
• ゲノムワイド関連遺伝子解析における、非独
立な仮説の存在
• その適用手法を眺めてみる
– Diploidであること
– ハプロタイプで解析すること
• 時間が残れば・・・
– 複数のスタディを統合すること
• サンプル
– 対称7疾患
• 躁鬱・冠動脈・クローン・高血圧・関節リウマチ・1型糖尿病・2型糖尿病
– 共通コントロール
• 2000人ケースx7疾患+3000人コントロール
• マーカー
– 500,000SNPs
• 検定
– 2x3テーブル
• 自由度2テスト、トレンドテスト
– 層別化データ解析
• Mantel-Haenszel テスト
• 集団構造化
– 英国内12地域
• 結果
– 5x10^(-7)シグナル 24個
• そもそもGWAで、タイプ1エラーの正確さを
云々しても『せんない』のではないか、という
議論もある
• False Discovery Rate(FDR)のように、関連
陽性マーカー比率を設定して順位付けをする
こともありかもしれない
• 。。。。でも。
たくさんの仮説検定
形質(疾患)
マーカー
形質とマーカーとに強い関連がある
1マーカーでの関連解析
形質(疾患)
マーカー
形質とマーカーとに強い関連がある
多マーカーでの関連解析
形質(疾患)
マーカー2つ
形質と第1マーカーとに強い関連がある
多マーカーでの関連解析
形質(疾患)
マーカー
形質と第1マーカーとに強い関連があ
る?
多マーカーでの関連解析
形質(疾患)
マーカー
形質と第1マーカーとに強い関連がある
???????
独立な検定とは
• もし関連がない母集団からたくさんのサンプリ
ングを繰り返すと・・・
– P<=0.01が得られる確率は0.01
– P<=0.05が得られる確率は0.05
– P<=0.5が得られる確率は0.5
– P<=0.05が得られる確率と0.05<P<=0.1が得ら
れる確率は等しくて、0.05
When 100 independent tests are
performed....
P-P plot of p
value
期待値p
観測したp値を
ソートする。
最小P
小さい方からi番
目のp値の期待
値は i/(100+1).
期待値=1/101
観測値 p
独立仮説検定のための多重検定補
正
• ボンフェロニ補正
– k個の(独立な)仮説を検定したら、
• pc=pn x k
– pc: 補正後のp
– pn: 補正前のp
• Family-wise error rate
– k個の(独立な)仮説を検定したら、その中の最小
のpnがqである確率は
• 1-(1-q)k~qk
– ボンフェロニ補正とほぼ同じ
2つの独立な仮説でのP値
0.05 -D=0.0475
1-B-C-D
= 0.95 x 0.95
仮説2
= 1-0.0975
B
A
0.05
D
0.05x0.05=0.0025
0.05
C
仮説1
= 0.9025
どちらかの仮説で
P<=0.05となる確
率は
B+C+D=0.0975
0.05 -D=0.0475
100個の独立仮説検定の
セットを100回繰り返した。
その最小P値の分布
FWER補正の分布
1-(1-q)k
ボンフェロニ補正の分布
pc=pn x k
• サンプル
– 対称7疾患
• 躁鬱・冠動脈・クローン・高血圧・関節リウマチ・1型糖尿病・2型糖尿病
– 共通コントロール
• 2000人ケースx7疾患+3000人コントロール
• マーカー
– 500,000SNPs
• 検定
– 2x3テーブル
• 自由度2テスト、トレンドテスト
– 層別化データ解析
• Mantel-Haenszel テスト
• 集団構造化
– 英国内12地域
• 結果
– 5x10^(-7)シグナル 24個
• 相互に独立な多数の仮説
– ある形質
– 独立に集められたサンプル
– 多数のマーカー
– マーカーは独立
– 1つのマーカーについて1テスト
• サンプル
– 対称7疾患
• 躁鬱・冠動脈・クローン・高血圧・関節リウマチ・1型糖尿病・2型糖尿病
– 共通コントロール
• 2000人ケースx7疾患+3000人コントロール
• マーカー
– 500,000SNPs
1マーカーに対して複数のテストをする
• 検定
– 2x3テーブル
• 自由度2テスト、トレンドテスト
– 層別化データ解析
• Mantel-Haenszel テスト
• 集団構造化
– 英国内12地域
• 結果
– 5x10^(-7)シグナル 24個
染色体 2倍体
2x3分割表検定
TT
TC
CC
合計
x
n1-(x+y)
y
n1
コント
ロール
m0-x
m1n1+(x+y)
m2-y
n2
合計
m0
m1
m2
N
ケース
TT
TC
CC
合計
ケース
x
n1-(x+y)
y
n1
コントロール
m0-x
m1-n1+(x+y)
m2-y
n2
合計
m0
m1
m2
N
重み付け 優性
0
1
1
重み付け 劣性
0
0
1
x
TT
TC
CC
合計
ケース
x
n1-(x+y)
y
n1
コントロール
m0-x
m1n1+(x+y)
m2-y
n2
合計
m0
m1
m2
N
重み付け 優性
0
1
1
重み付け 劣性
0
0
1
y
DF2
劣性
2次元(DF=2)の確率密度分布
優性・劣性はその1次元化(→DF=1検定)
優性
中間
TT
TC
CC
合計
ケース
x
n1-(x+y)
y
n1
コントロール
m0-x
m1-n1+(x+y)
m2-y
n2
合計
m0
m1
m2
N
重み付け 優性
0
1
1
重み付け 中間
0
0.5
1
重み付け 劣性
0
0
1
x
TT
TC
CC
合計
ケース
x
n1-(x+y)
y
n1
コントロール
m0-x
m1n1+(x+y)
m2-y
n2
合計
m0
m1
m2
N
重み付け 優性
0
1
1
重み付け 中間
0
0.5
1
重み付け 劣性
0
0
1
y
DF2
劣性
2次元(DF=2)の確率密度分布
優性・劣性・中間はその1次元化(→DF=1検定)
中間:トレンド検定(Armitage-Cockran,Trend-Chi
square)
「ありそうなモデル」
優性
中間
3モデル検定を3独立検定でFWER
解釈・・・保守的
2,2.25,2.5,2.75,3・・・合致
せず
TT
TC
CC
合計
ケース
x
n1-(x+y)
y
n1
コントロール
m0-x
m1-n1+(x+y)
m2-y
n2
合計
m0
m1
m2
N
重み付け 優性
0
1
1
重み付け 中間
0
0.5
1
重み付け 劣性
0
0
1
自由度2
0
-∞~+∞
1
※ x+yが等しい
場合を等評価
x
TT
TC
CC
合計
ケース
x
n1-(x+y)
y
n1
コントロール
m0-x
m1n1+(x+y)
m2-y
n2
合計
m0
m1
m2
N
重み付け 優性
0
1
1
重み付け 中間
0
0.5
1
重み付け 劣性
0
0
1
自由度2
0
-∞~+∞
1
y
DF2
劣性
2次元(DF=2)の確率密度分布
優性・劣性・中間はその1次元化(→DF=1検定)
中間:トレンド検定(Armitage,Trend-Chi square)
「ありそうなモデル」
「ちょっとありそうにないモデル」
優性
中間
3モデル
自由度2で解釈・・・保守的
自由度1、1.25,1.5,1.75,2
• 2x3分割表
– 多方向で解析する
– その上で最強の関連を採用する
• 自由度2の統計量を自由度1で解釈すること
– 自由度1での評価を、固定した1モデルで行えば、
その評価値(P値)は妥当
– 複数モデルで行うと、自由度2の状況に近づく
• 無限に多くのモデルで行うと自由度2に一致する
• 相互に独立な多数の仮説
– ある形質
– 独立に集められたサンプル
– 多数のマーカー
– マーカーは独立
– 1つのマーカーについて1テスト
SNPマーカーは相互に独立ではない
Allelic association
• 2つの多型のアレルの組合せに偏りがあるこ
と
• 成因
– 連鎖不平衡
– 集団構造化
SNPマーカーは相互に独立ではない
Allelic association
• 2つの多型のアレルの組合せに偏りがあるこ
と
• 成因
– 連鎖不平衡
– 集団構造化
ハプロタイプ : 多型の組合せが作るタイプ
連鎖不平衡
構造化した集団からのサンプリン
グ
2群間で均質にサン
プリングされた例
2群間で偏りが出た
サンプリングの例
• 2SNP→4ハプロタイプ
• 簡単のために
– 染色体単位でタイピング実験ができたとして
2x4分割表検定
H1
C-G
ケース
x
H2
C-A
y
コント
ロール
m0-x
m1-y
合計
m0
m1
H3
A-G
H4
A-A
合計
z
n1(x+y+z)
n1
m3m2-z n1+(x+y
+z)
n2
m2
m3
N
H1
C-G
H2
C-A
H3
A-G
H4
A-A
合計
ケース
x
y
z
n1-(x+y+z)
n1
コントロール
m0-x
m1-y
m2-z
m3n1+(x+y+z)
n2
合計
m0
m1
m2
m3
N
z
(H3)
y
(H2)
x
(H1)
(H1+H2)~(H3+H4)
SNP1
H1+H2+H3~H4
H2+H3~Others
H3~Others
(H1+H3)~(H2+H4)
SNP2
H2~Others
H1~Others
自由度次元の格子の2点を結んだ軸での評価
ハプロタイプ
ハプロタイプの組合せ
(H1+H2)~(H3+H4)
SNP1
H1+H2+H3~
H4
H2+H3~Others
H3~
Others
(H1+H3)~
(H2+H4) SNP2
H2~Others
H1~Others
3次元→多次元(ハプロタイプ種類数 Nh=2^(Ns))
ありとあらゆるハプロタイプの組合せを検討する?
→格子点を結ぶ軸での評価
ハプロタイプごとに重み付けをする?
→格子点を通らない軸でも評価?
ハプロタイプの出現には歴史がある
SNPをマーカーと考えるとき、様々なハプロタイプの組合
せが「関連の元凶」に1対1対応している可能性がある
• サンプル
– 対称7疾患
• 躁鬱・冠動脈・クローン・高血圧・関節リウマチ・1型糖尿病・2型糖尿病
– 共通コントロール
• 2000人ケースx7疾患+3000人コントロール
• マーカー
– 500,000SNPs
• 検定
– 2x3テーブル
• 自由度2テスト、トレンドテスト
– 層別化データ解析
• Mantel-Haenszel テスト
• 集団構造化
– 英国内12地域
• 結果
– 5x10^(-7)シグナル 24個
• サンプル
– 対称7疾患
• 躁鬱・冠動脈・クローン・高血圧・関節リウマチ・1型糖尿病・2型糖尿病
– 共通コントロール
• 2000人ケースx7疾患+3000人コントロール
• マーカー
– 500,000SNPs
• 検定
– 2x3テーブル
• 自由度2テスト、トレンドテスト
– 層別化データ解析
• Mantel-Haenszel テスト・DerSimonian-Lairdテスト
• 集団構造化
– 英国内12地域
• 結果
– 5x10^(-7)シグナル 24個
• 簡単のために
– 2疾患
– その2疾患には共通項があるのでプールするか
も
– 染色体でタイピング
共通コントロール 個別コントロール
A
B
D1
D1
x
D2
y
Cont
x
Cont1
D1’
Cont2
y
D1 D2に共通項
A
D1 D1’は同一形質、も
しくは共通項
B
D1
D1
x
D2
y
Cont
x
Cont1
D1’
Cont2
y
A
B
D1
D1
x
D2
y
Cont
x
Cont1
D1’
y
Cont2
D1 vs. Cont
D2 vs. Cont
(D1+D2) vs. Cont
D1 vs. Cont1
D2 vs. Cont2
(D1+D1’) vs. (Cont1+Cont2)
メタアナリシス(MantelHaenszel,DerSimonian-Laird)
サマリー
個別軸
1SNP アレル本数モデル
ハプロタイプ
複数疾患・レプリケーション・メタ
アナリシス・共通因子
優性
個々のハプロタイプ
個々の疾患
劣性
Additive(トレンドテスト)
個々のコホート
個々のSNP(ハプロタイプの代表
的組合せ)
メタアナリシス(MantelHaenszel), 共通グループ
合算
その他の「ありそうな」ハプロタ
イプの組合せ
斜め軸
それ以外の「ありそうもない」組
合せ
その他の「ありそうな」モデル
ハプロタイプ・ハプロタイプ組合
せに重み付け。「ありそう
な」モデル
疾患や、コホートに「ありそうな」
重み付けを許す
それ以外の「ありそうもない」モ
デル
それ以外の「ありそうもない」モ
デル
それ以外の「あいそうもない」重
み付けを許す
あらゆるモデル
あらゆるモデル
あらゆるモデル
ハプロタイプ数-1
疾患数(共通コントロールの場
合)、コホート数(レプリ
ケーション)の場合
有理数的な重み付け
自由度全体
最大自由度
2
ここまでは、P値が均一分布をとること
を前提にしてきたが・・・
Q-Q plot of p
value
期待値p
観測したp値を
ソートする。
最小P
小さい方からi番
目のp値の期待
値は i/(100+1).
期待値=1/101
観測値 p
• サンプル
– 対称7疾患
• 躁鬱・冠動脈・クローン・高血圧・関節リウマチ・1型糖尿病・2型糖尿病
– 共通コントロール
• 2000人ケースx7疾患+3000人コントロール
• マーカー
– 500,000SNPs
• 検定
– 2x3テーブル
• 自由度2テスト、トレンドテスト
– 層別化データ解析
• Mantel-Haenszel テスト
• 集団構造化
– 英国内12地域
• 結果
– 5x10^(-7)シグナル 24個
構造化した集団からのサンプリン
グ
2群間で均質にサン
プリングされた例
2群間で偏りが出た
サンプリングの例
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
P-value
P値
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
1
1
1
1
0
1
1
0
0
1
0
1
0
0
1
1
0
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
0
1
1
0
1
1
0
1
1
1
1
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
1
0
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
1
1
0
0
0
1
0
0
0
0
1
0
1
1
0
1
0
0
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
0
1
0
0
1
0
1
1
1
0
0
0
0
0
1
0
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
1
1
1
0
1
1
0
0
1
1
1
1
0
0
1
0
1
0
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
1
0
0
1
1
0
0
0
1
1
1
1
0
1
0
0
0
1
1
1
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
0
0
1
0
1
1
0
0
0
0
0
0
1
0
0
0
1
1
0
0
0
0
0
1
1
0
0
1
1
0
0
0
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
1
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
0
0
0
1
0
0
1
1
1
0
0
1
0
0
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
0
1
0
1
1
1
0
1
0
0
0
1
0
0
1
1
0
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
0
0
0
0
1
0
0
0
1
1
0
1
1
1
0
1
1
1
0
1
1
1
1
0
1
1
0
0
0
0
1
0
0
0
1
1
1
1
1
1
0
0
1
1
1
0
1
1
0
0
1
0
1
0
1
1
0
1
1
0
0
0
0
1
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
1
1
0
1
1
0
1
1
0
0
0
1
1
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
1
0
1
0
0
0
0
0
1
1
0
1
1
0
0
1
1
1
0
0
1
1
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
1
0
0
1
0
0
0
1
1
0
0
0
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
1
0
0
1
1
0
1
0
0
1
1
0
1
1
1
1
0
0
1
1
1
0
0
1
0
0
0
0
0
1
1
0
1
0
0
1
1
0
0
1
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
1
1
0
0
1
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
1
1
1
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
1
0
1
0
0
0
0
0
0
0
1
0
1
0
1
1
1
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
0
0
1
1
1
0
1
0
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
0
1
1
1
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
1
0
1
0
1
1
1
1
0
0
0
0
1
1
1
0
0
0
1
0
0
0
0
0
1
0
0
1
1
1
0
0
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
1
1
0
0
0
0
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
1
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
1
1
0
1
1
0
1
0
1
1
1
1
0
0
1
0
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
1
1
1
0
1
0
1
0
0
1
1
0
0
1
0
1
1
0
1
1
1
1
0
1
0
0
1
1
0
0
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
1
1
0
1
0
1
0
1
0
0
1
0
0
0
0
1
1
0
0
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
1
0
0
1
1
1
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
1
0
1
1
1
1
1
1
1
1
0
0
0
1
0
1
0
1
0
0
1
1
1
1
0
1
0
1
0
0
0
1
1
1
1
0
1
0
0
0
0
1
0
1
0
1
1
0
1
0
0
1
0
0
1
1
0
0
1
1
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
1
0
1
1
0
0
0
0
1
0
0
1
0
0
0
1
0
0
0
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
1
0
0
1
1
0
1
0
0
0
0
0
1
0
1
1
1
1
0
1
1
0
1
0
1
1
0
0
1
1
1
1
0
1
0
0
1
1
1
0
1
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
1
1
0
1
1
1
1
0
0
1
0
0
1
1
1
0
1
1
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
1
0
0
0
0
0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
1
0
0
1
1
1
1
1
0
0
0
0
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
0
0
1
0
0
0
1
1
1
0
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
0
1
1
0
1
0
1
0
0
0
0
0
0
1
0
0
0
1
0
0
1
1
0
0
0
1
0
1
1
0
0
1
1
0
1
0
0
1
0
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
1
1
1
1
1
0
1
1
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
1
0
0
1
1
1
0
1
1
1
0
0
0
1
0
0
1
0
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
1
1
0
1
0
1
1
0
0
1
0
0
1
0
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
0
0
0
1
1
0
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
1
1
0
0
0
1
0
0
1
1
0
1
1
0
1
0
0
1
1
1
1
0
1
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
1
0
1
1
0
0
1
0
1
0
0
1
1
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
0
1
0
1
1
0
0
0
0
1
0
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
1
0
0
1
1
1
1
1
1
1
0
1
0
0
1
0
1
1
1
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
1
1
1
1
0
0
1
1
0
1
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
1
0
0
0
1
1
1
1
0
1
1
0
1
0
0
0
1
0
1
0
1
1
0
1
0
1
0
0
1
0
1
1
1
0
1
1
0
1
0
0
0
0
1
1
1
0
0
1
0
0
1
0
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
1
0
0
1
0
1
1
1
0
0
1
0
1
1
1
0
0
0
0
0
0
1
0
1
1
1
1
0
0
1
1
1
1
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
1
0
0
1
1
1
0
1
0
0
1
0
1
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
1
0
1
0
0
0
0
1
1
0
1
1
1
1
1
1
0
1
1
1
1
1
1
1
0
0
1
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
1
0
0
0
1
1
0
0
0
1
0
0
1
0
1
1
0
0
1
0
0
1
1
1
0
0
0
1
0
1
0
1
1
0
0
1
1
0
0
0
0
1
1
1
0
1
0
0
1
0
1
0
0
1
0
0
0
1
1
1
1
0
1
1
0
0
1
0
0
0
0
1
1
0
0
0
1
1
0
1
0
0
0
0
1
1
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
0
1
0
1
0
0
1
0
1
0
0
0
1
1
1
0
1
0
1
1
0
1
1
0
1
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
0
0
0
1
1
0
1
1
1
1
1
0
0
1
0
1
1
1
1
1
1
0
0
0
0
1
0
0
1
1
1
1
1
0
1
0
1
1
0
0
0
0
1
1
1
0
0
0
1
1
1
1
0
1
1
0
0
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
0
0
1
0
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
0
0
0
0
0
1
1
1
1
0
1
0
0
1
0
1
1
1
1
0
1
0
1
0
0
0
0
1
1
1
0
0
0
1
0
0
1
0
1
0
1
1
0
0
0
1
1
1
0
1
1
0
1
0
1
0
0
0
0
1
1
0
0
1
1
0
0
1
1
0
1
1
0
0
0
1
1
1
1
1
1
1
0
1
1
0
1
1
0
1
0
1
1
1
1
0
1
1
1
1
0
0
0
0
1
0
1
1
1
0
0
0
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
1
0
1
1
0
0
0
0
0
1
1
1
0
1
1
1
0
1
1
1
0
0
1
0
1
0
0
1
1
1
1
1
0
0
0
0
0
1
1
0
0
1
1
1
0
0
1
0
1
0
0
0
0
1
0
1
0
1
0
1
1
1
0
1
1
0
1
0
1
0
1
1
0
0
0
0
0
0
0
0
1
1
0
1
1
0
0
1
1
0
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
1
1
0
1
1
1
1
0
0
1
1
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
0
1
0
0
0
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
1
0
1
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
0
1
1
0
1
1
1
1
1
0
0
0
0
1
1
1
0
0
1
0
0
0
1
1
1
0
1
1
0
0
0
0
0
1
0
0
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
0
0
1
1
1
1
0
0
1
0
1
1
0
0
1
1
1
0
0
0
1
1
0
1
1
0
0
0
0
0
1
0
1
0
0
1
1
1
1
1
0
0
1
1
0
1
1
1
1
0
1
0
1
0
1
0
1
1
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
1
1
0
1
1
1
0
1
1
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
1
1
0
1
0
1
1
1
0
1
1
1
0
1
1
0
1
1
0
0
0
0
0
0
1
1
1
1
0
0
1
1
1
0
0
0
0
0
1
0
0
1
1
0
1
0
1
0
1
1
1
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
構造化なし
構造化あり、ケース
構造化集団から偏りのある
コントロール均質
サンプリングがなされると、
構造化あり、ケース
低P値が頻発する
コントロール不均一
Markers
Fisher's exact P
P値昇順プロット
0.91
0
0
1
1
1
0
0
0
0
0
0
0
0
0
0
1
0
1
1
1
0
0
0
1
1
1
0
1
1
1
0
1
0
0
1
1
1
1
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
1
1
1
0
1
0
1
1
0.81
1
0
0
1
0
1
0
1
1
0
1
1
1
1
0
1
1
0
0
1
1
0
1
1
1
0
1
0
0
1
1
1
0
0
0
1
1
1
0
0
1
1
1
0
1
1
1
1
0
0
0
1
0
0
0
1
0
0
0
0
0
0.71
0
1
0
1
0
1
1
1
1
1
0
0
1
1
1
0
1
1
1
1
1
0
1
0
0
0
1
1
0
1
0
1
1
1
0
1
1
1
1
0
0
1
0
0
0
0
1
1
1
0
1
0
1
1
1
0
1
0
0
0
1
0.61
0
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
1
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
1
0
0
1
0
1
0
0
1
1
0
1
0
1
1
1
0
1
0
1
0
0
1
0.51
0
1
1
1
0
1
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
0
0
1
1
0
1
0
0
0
1
1
1
0
0
1
0
0
0
0
1
1
0
1
1
1
0
1
1
0
1
0
0
0
0
0
0
0
0
0
0.41
0
1
1
0
1
1
1
0
0
1
1
1
1
1
1
0
0
1
0
1
1
0
1
1
0
1
0
0
1
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
1
1
1
1
0
1
1
1
0
0
0
1
1
0
0
1
1
0.31
1
1
1
0
0
1
0
0
0
1
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
1
1
0
1
0
1
1
1
0
1
0
0
1
1
1
1
0
1
1
0
0
1
0
1
1
0
1
1
1
1
1
0
1
1
1
1
0.21
1
0
0
1
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
0
1
1
0
0
1
1
1
1
0
0
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
1
1
0
1
0
0
1
1
0
0
0
0
0
1
1
0.11
0
1
0
1
0
1
0
0
1
0
1
0
0
1
0
0
1
0
1
1
0
0
0
1
1
1
0
1
0
1
0
0
0
1
1
0
1
1
0
1
0
1
1
1
1
1
0
0
1
1
0
0
1
0
0
1
0
0
0
1
1
0.01
1
0
1
1
0
1
1
1
0
1
0
1
1
1
1
1
1
1
0
1
0
0
1
1
1
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
0
0
0
0
0
0
1
0
1
0
1
0
1
1
0
0
1
1
0
1
パーセンタイル
0
0
1
1
1
1
1
0
1
1
1
1
0
1
0
1
1
1
1
1
1
1
0
0
1
0
1
0
1
1
0
1
0
0
0
0
1
1
1
1
0
0
0
0
0
0
0
1
1
1
0
0
0
0
0
1
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
東京大学医科学研究所
ヒトゲノム解析センター
http://func-gen.hgc.jp/
京都大学大学院
医学研究科附属ゲノム医学センター
理化学研究所遺伝子多型研究センター
http://www.genome.med.kyo
to-u.ac.jp/ra/statgenet/
関節リウマチ関連遺伝子研究チーム
http://www.genome.med.kyotou.ac.jp/ra/
ダウンロード

ゲノムワイドアソシエーションスタディにおける、多仮説検定事情