[インデックス 11864] ファイルの概要
このコミットは、Go言語のLinux/ARMアーキテクチャ向けビルドに関する複数の問題を修正し、特にシステムコール定義の生成プロセスを自動化することを目的としています。
コミット
commit 31ab16f98eb9f7a121d666e22ac4d46d97934c1d
Author: Shenghou Ma <minux.ma@gmail.com>
Date: Mon Feb 13 20:16:57 2012 -0500
fix build for Linux/ARM.
1, IMO, the fatal error "regfree: not a register" from 5g when
compiling runtime/debug.go is due to gcc miscompile, it doesn't
show up when compiled with -O0. But I still haven't thought of
a way to fix this, should all ARM builds be built with -O0?
2, fixed mksysnum_linux.pl, so zsysnum_linux_arm.go no longer
needs to be hand-generated.
3, regen all in pkg syscall for Linux/ARM on Debian 6.0
This CL is somewhat big, I'd like to split it if necessary.
R=rsc, dave
CC=golang-dev
https://golang.org/cl/5659044
GitHub上でのコミットページへのリンク
https://github.com/golang/go/commit/31ab16f98eb9f7a121d666e22ac4d46d97934c1d
元コミット内容
このコミットは、Linux/ARM環境におけるGo言語のビルド問題を修正することを目的としています。具体的には以下の3点が含まれます。
runtime/debug.go
をコンパイルする際に5g
(Goコンパイラ)から発生する致命的なエラー「regfree: not a register
」への対応。これはGCCの誤コンパイルが原因である可能性が指摘されており、-O0
(最適化なし)でコンパイルすると発生しないことが確認されています。コミットメッセージでは、ARMビルド全体を-O0
でビルドすべきかという疑問が提示されていますが、このコミット自体では根本的な解決策は示されていません。mksysnum_linux.pl
スクリプトの修正。これにより、これまで手動で生成する必要があったzsysnum_linux_arm.go
ファイルが自動生成されるようになりました。これはビルドプロセスの自動化と保守性の向上に大きく貢献します。- Debian 6.0上のLinux/ARM向けに、
pkg syscall
内の全ての関連ファイルを再生成しました。これは、システムコール定義や関連する定数、型定義が最新の環境に合わせて更新されたことを意味します。
コミットメッセージでは、変更がやや大きいと感じているため、必要であれば分割することも検討すると述べられています。
変更の背景
このコミットが行われた2012年2月は、Go言語がまだ比較的新しく、特にARMアーキテクチャのような多様なプラットフォームへの対応が活発に進められていた時期です。当時のGo言語は、クロスコンパイルや異なるアーキテクチャでの動作の安定性を確保するために、多くのプラットフォーム固有の調整が必要でした。
このコミットの背景には、主に以下の課題があったと考えられます。
- ARMアーキテクチャのサポート強化: Go言語がより多くのデバイスや組み込みシステムで利用されるためには、ARMアーキテクチャでの安定した動作が不可欠でした。しかし、異なるGCCバージョンやディストリビューション(Debian 6.0など)の組み合わせにおいて、コンパイル時の問題やシステムコール定義の不整合が発生していました。
- ビルドプロセスの手動依存:
zsysnum_linux_arm.go
のようなシステムコール定義ファイルが手動で管理されていることは、エラーの温床となり、新しいシステムコールが追加されたり、既存の定義が変更されたりするたびに手動での更新が必要となるため、保守性が低いという問題がありました。これは、Go言語のクロスプラットフォーム対応を阻害する要因となっていました。 - コンパイラの互換性問題:
5g
コンパイラと特定のGCCバージョンとの間で発生した「regfree: not a register
」エラーは、コンパイラツールチェーン間の互換性問題を示唆しており、Go言語のビルドの信頼性を低下させる可能性がありました。
これらの課題に対処し、Go言語のLinux/ARMビルドの安定性、信頼性、および保守性を向上させることが、このコミットの主要な動機となっています。特に、システムコール定義の自動生成は、将来的なプラットフォーム対応の効率化に繋がる重要な改善です。
前提知識の解説
このコミットを理解するためには、以下の技術的な前提知識が必要です。
1. Go言語のビルドシステムとクロスコンパイル
Go言語は、その設計上、クロスコンパイル(あるプラットフォームで別のプラットフォーム向けの実行ファイルを生成すること)を容易に行えるように作られています。これは、Goのツールチェーンが、ターゲットアーキテクチャのシステムコールやABI(Application Binary Interface)に関する情報を内部に持っているためです。
5g
: Go 1.0以前のGo言語のコンパイラ群の一部で、Goソースコードを特定のアーキテクチャ(この場合はARM)のオブジェクトコードにコンパイルする役割を担っていました。Go 1.0以降はgo tool compile
に統合されています。runtime
パッケージ: Goプログラムの実行時環境を提供するパッケージです。ガベージコレクション、スケジューラ、シグナルハンドリングなど、OSと密接に連携する低レベルな機能を含んでいます。syscall
パッケージ: OSのシステムコールをGoプログラムから呼び出すためのインターフェースを提供するパッケージです。OSやアーキテクチャごとに異なるシステムコール番号や構造体定義を抽象化し、Goプログラムから統一的にアクセスできるようにします。
2. LinuxシステムコールとARMアーキテクチャ
- システムコール (System Call): オペレーティングシステムが提供するサービスを、ユーザー空間のプログラムが利用するためのインターフェースです。ファイルI/O、プロセス管理、メモリ管理など、OSのカーネルが提供する機能にアクセスするために使用されます。各システムコールには一意の番号(システムコール番号)が割り当てられています。
- ARMアーキテクチャ: スマートフォン、タブレット、組み込みシステムなど、幅広いデバイスで利用されているRISC(Reduced Instruction Set Computer)ベースのプロセッサアーキテクチャです。ARMプロセッサは、その低消費電力と高性能のバランスから、モバイルデバイスやIoTデバイスで広く採用されています。
- ABI (Application Binary Interface): アプリケーションとOS、またはアプリケーションとライブラリの間で、バイナリレベルでの互換性を定義するものです。システムコールの呼び出し規約(レジスタの使用方法、引数の渡し方など)もABIの一部です。ARMアーキテクチャには、ARM EABI(Embedded Application Binary Interface)など、複数のABIが存在します。
/usr/include/asm/unistd.h
: Linuxシステムにおいて、システムコール番号が定義されているヘッダーファイルの一つです。アーキテクチャ固有のシステムコール定義が含まれています。
3. シグナルハンドリング
- シグナル (Signal): プロセスに対して非同期に通知されるイベントです。例えば、Ctrl+Cによる割り込み(SIGINT)、不正なメモリアクセス(SIGSEGV)、子プロセスの終了(SIGCHLD)などがあります。
- シグナルハンドラ: シグナルを受信した際に実行される特別な関数です。Go言語のランタイムは、OSからのシグナルを捕捉し、Goのランタイムが適切に処理できるように独自のシグナルハンドラを設定します。
Siginfo
構造体: シグナルに関する詳細情報(シグナル番号、エラーコード、発生アドレスなど)を含む構造体です。Ucontext
構造体: シグナル発生時のプロセスのコンテキスト(レジスタの状態、スタックポインタなど)を含む構造体です。
4. Perlスクリプトとコード生成
mksysnum_linux.pl
: このコミットで修正されたPerlスクリプトは、Linuxカーネルのヘッダーファイル(例:/usr/include/asm/unistd.h
)を解析し、Go言語のsyscall
パッケージで使用されるシステムコール番号の定数定義(zsysnum_linux_arm.go
など)を自動生成するためのツールです。このようなスクリプトは、手動でのコード記述を減らし、OSの変更に追従しやすくするために広く利用されます。- 正規表現 (Regular Expression): テキストパターンを記述するための強力なツールです。
mksysnum_linux.pl
のようなスクリプトでは、ヘッダーファイル内の特定の定義(例:#define __NR_syscall_name value
)を抽出するために正規表現が使用されます。
5. regfree: not a register
エラー
このエラーメッセージは、通常、正規表現ライブラリ(regcomp
, regexec
, regfree
などの関数を提供する)に関連する問題を示唆しています。特に「not a register
」という部分は、正規表現のコンパイルまたは解放の際に、内部的なレジスタ(正規表現の内部状態を保持するメモリ領域)の管理に問題が発生していることを示唆しています。
- GCCの誤コンパイル: コンパイラ(この場合はGCC)が、特定の最適化レベル(
-O
オプション)でコードを生成する際に、バグや非互換性によって誤った機械語を生成することがあります。これにより、実行時に予期せぬエラーが発生する可能性があります。 -O0
オプション: GCCにおける最適化レベルの一つで、最適化をほとんど行わない設定です。デバッグが容易になる反面、生成されるコードの実行速度は遅くなります。最適化によるバグを回避するために一時的に使用されることがあります。
これらの前提知識を理解することで、コミットが解決しようとしている問題の性質と、その解決策がなぜ選択されたのかを深く把握することができます。
技術的詳細
このコミットは、Linux/ARM環境におけるGo言語のランタイムとシステムコール層の複数の側面を改善しています。
1. mksysnum_linux.pl
の修正と自動生成の導入
最も重要な変更点の一つは、src/pkg/syscall/mksysnum_linux.pl
スクリプトの正規表現の修正です。
変更前:
elsif(/^#define __NR_(\w+)\s+\(\w+\+([0-9]+)\)/){
変更後:
elsif(/^#define __NR_(\w+)\s+\(\w+\+\s*([0-9]+)\)/){
この変更は非常に小さいですが、その影響は大きいです。変更前は、#define __NR_SYSCALL_NAME (BASE +NUMBER)
のような形式で、+
と数値の間に空白がない定義のみを正確に解析していました。しかし、Linuxカーネルのヘッダーファイルによっては、+
と数値の間に空白(例: (BASE + NUMBER)
)が存在する場合があります。この修正により、正規表現が+
と数値の間の任意の空白文字(\s*
)を許容するようになり、より堅牢にシステムコール番号を解析できるようになりました。
この修正の結果、src/pkg/syscall/zsysnum_linux_arm.go
ファイルが手動で管理される必要がなくなり、mksysnum_linux.pl
スクリプトによって自動生成されるようになりました。これは、ファイル冒頭のコメントが// hand generated
から// mksysnum_linux.pl /usr/include/asm/unistd.h
および// MACHINE GENERATED BY THE ABOVE COMMAND; DO NOT EDIT
に変更されたことからも明らかです。自動生成により、将来的なLinuxカーネルのシステムコール定義の変更にも、スクリプトを再実行するだけで容易に対応できるようになり、保守性が大幅に向上しました。
2. pkg syscall
の定数と型定義の更新
src/pkg/syscall/zerrors_linux_arm.go
とsrc/pkg/syscall/ztypes_linux_arm.go
の変更は、Linux/ARM環境におけるシステム関連の定数と型定義の更新を反映しています。
zerrors_linux_arm.go
:AF_ALG
,AF_CAIF
,MADV_HUGEPAGE
,MADV_NOHUGEPAGE
などの新しい定数が追加されました。これらは、Linuxカーネルの新しい機能やネットワークプロトコル、メモリ管理オプションに対応するためのものです。- 特に注目すべきは、シグナル関連の定数(
SIGABRT
など)が、単なるconst
定義からSignal(0x...)
という型付き定数に変更され、さらにシグナル番号と対応する文字列をマッピングするsignals
テーブルが追加されたことです。これにより、シグナル情報の扱いがより構造化され、デバッグやエラーメッセージの生成が容易になります。
ztypes_linux_arm.go
:Statfs_t
構造体の定義が変更され、Spare
フィールドのサイズが[5]int32
から[4]int32
に減少し、新たにFlags int32
フィールドが追加されました。これは、Linuxカーネルのstatfs
システムコールが返すファイルシステム情報の構造体が変更されたことに対応するものです。このような変更は、Go言語のsyscall
パッケージがOSのABIに正確に準拠するために不可欠です。
これらの変更は、Debian 6.0上のLinux/ARM環境の最新のカーネルヘッダーファイルに基づいて再生成された結果であり、Go言語が特定のOS/アーキテクチャの最新のインターフェースと互換性を保つための継続的な努力を示しています。
3. runtime/signal_linux_arm.c
のシグナルハンドリングの改善
src/pkg/runtime/signal_linux_arm.c
における変更は、Go言語のランタイムがLinux/ARM上でシグナルを処理する方法の改善に焦点を当てています。
runtime·sighandler
関数内で、SigTab *t;
という新しい変数が導入され、runtime·sigtab[sig]
へのアクセスがt
を介して行われるようになりました。これにより、コードの可読性が向上し、シグナルテーブルへのアクセスが効率化されます。- シグナル処理ロジックがより詳細に制御されるようになりました。特に、
info->si_code
(シグナルがどのように生成されたかを示すコード)とSigTab
のflags
フィールドを組み合わせることで、シグナルの種類(ユーザーが送信したシグナル、パニックを引き起こすシグナル、キューに入れられるシグナルなど)に応じた適切な動作が選択されます。 SigPanic
フラグを持つシグナル(例: SIGSEGV)に対する処理が改善され、gp == nil
(現在のGoルーチンが存在しない場合)のチェックが追加されました。これにより、ランタイムがパニック状態に陥る前に、より堅牢なエラーハンドリングが可能になります。SigQueue
フラグの代わりにSigNotify
フラグが導入され、runtime·sigsend
の呼び出しとSigIgnore
フラグのチェックロジックが変更されました。これは、シグナルがキューに入れられるべきか、無視されるべきか、あるいはプロセスを終了させるべきか(SigKill
)をより明確に区別するためのものです。Throw:
ラベルが導入され、パニックを引き起こすシグナル処理の共通エントリポイントとして機能します。これにより、コードの重複が減り、シグナルによるパニック処理が一元化されます。
これらの変更は、GoプログラムがLinux/ARM環境でシグナルをより正確かつ堅牢に処理できるようにするためのもので、特に予期せぬシグナル(例: セグメンテーション違反)が発生した場合のランタイムの安定性向上に寄与します。
4. regfree: not a register
エラーに関する考察
コミットメッセージで言及されている「regfree: not a register
」エラーは、5g
コンパイラがruntime/debug.go
をコンパイルする際に発生する問題です。これは、Goコンパイラ自体が正規表現ライブラリを使用しているか、または生成されたコードが間接的に正規表現ライブラリに依存している場合に発生する可能性があります。
このエラーは、GCCの誤コンパイルが原因であると推測されており、-O0
(最適化なし)でコンパイルすると発生しないことから、特定の最適化パスが問題を引き起こしている可能性が高いです。当時のGCCのARM向けバックエンドに、特定のコードパターンに対するバグがあったか、またはGoコンパイラが生成する中間コードがGCCの最適化と相性が悪かったことが考えられます。
このコミット自体ではこの問題の根本的な解決は行われていませんが、問題の存在を認識し、将来的な対応の必要性を示唆しています。このようなコンパイラ間の互換性問題は、クロスコンパイル環境ではよく発生する課題であり、ツールチェーン全体の成熟度を示す指標でもあります。
コアとなるコードの変更箇所
このコミットにおける主要なコード変更は以下のファイルに集中しています。
-
src/pkg/runtime/signal_linux_arm.c
:runtime·sighandler
関数内のシグナル処理ロジックが変更されました。SigTab *t;
変数の追加。if(gp != nil && (runtime·sigtab[sig].flags & SigPanic))
の条件がif(info->si_code != SI_USER && (t->flags & SigPanic))
に変更され、gp == nil
のチェックとgoto Throw;
が追加されました。if(runtime·sigtab[sig].flags & SigQueue)
の条件がif(info->si_code == SI_USER || (t->flags & SigNotify))
に変更され、それに続くロジックがSigKill
とSigThrow
フラグに基づいて再構築されました。Throw:
ラベルが追加されました。
-
src/pkg/syscall/mksysnum_linux.pl
:- システムコール番号を解析するための正規表現が修正されました。
elsif(/^#define __NR_(\w+)\s+\(\w+\+([0-9]+)\)/)
がelsif(/^#define __NR_(\w+)\s+\(\w+\+\s*([0-9]+)\)/)
に変更されました。
-
src/pkg/syscall/zerrors_linux_arm.go
:- 新しい定数
AF_ALG
,AF_CAIF
,MADV_HUGEPAGE
,MADV_NOHUGEPAGE
が追加されました。 AF_MAX
の値が0x25
から0x27
に更新されました。- シグナル関連の定数(
SIGABRT
からSIGXFSZ
まで)が削除され、Signal
型を持つ新しいconst
ブロックとして再定義されました。 - シグナル番号と文字列をマッピングする
signals
配列が追加されました。
- 新しい定数
-
src/pkg/syscall/zsysnum_linux_arm.go
:- ファイル冒頭のコメントが
// hand generated
から自動生成されたことを示すコメントに変更されました。 - システムコール番号の定義リスト全体が更新されました(大量の挿入と削除)。これは、
mksysnum_linux.pl
によって再生成された結果です。
- ファイル冒頭のコメントが
-
src/pkg/syscall/ztypes_linux_arm.go
:Statfs_t
構造体の定義が変更されました。Spare [5]int32
がFlags int32
とSpare [4]int32
に変更されました。
コアとなるコードの解説
src/pkg/runtime/signal_linux_arm.c
のシグナルハンドリング
このファイルは、Linux/ARM環境におけるGoランタイムのシグナルハンドラの実装です。runtime·sighandler
関数は、OSからシグナルが配送されたときに呼び出されます。
変更の核心は、シグナルがGoランタイムにとって「パニック」を引き起こすものなのか、それとも「通知」として処理されるべきものなのかを、より細かく判断するロジックの導入です。
SigTab *t;
の導入により、runtime·sigtab[sig]
への複数回のアクセスが効率化され、コードが読みやすくなりました。if(info->si_code != SI_USER && (t->flags & SigPanic))
の条件は、シグナルがユーザーによって明示的に送信されたものではなく(SI_USER
はkill()
システムコールなどによるユーザー送信を示す)、かつそのシグナルがSigPanic
フラグ(例:SIGSEGV
、SIGBUS
など、通常はプログラムの異常終了を引き起こすシグナル)を持っている場合に、パニック処理に進むことを意味します。if(gp == nil)
のチェックは重要です。gp
は現在のGoルーチン(goroutine)へのポインタです。シグナルがGoルーチンコンテキスト外で発生した場合(例えば、CコードからGoランタイムに制御が戻る前など)、gp
はnil
になる可能性があります。このような場合でも、ランタイムがクラッシュしないようにgoto Throw;
でパニック処理に移行します。- 以前の
SigQueue
フラグのロジックが、info->si_code == SI_USER || (t->flags & SigNotify)
に置き換えられました。これは、ユーザーが送信したシグナル(SI_USER
)や、SigNotify
フラグを持つシグナル(例:SIGINT
、SIGTERM
など、通常はプロセスに終了を促すシグナル)に対しては、runtime·sigsend(sig)
を呼び出してGoランタイムの内部シグナルキューにシグナルを送信しようと試みることを意味します。 - 新しい
SigKill
フラグのチェックは、シグナルがプロセスを即座に終了させるべきものである場合(例:SIGKILL
)にruntime·exit(2)
を呼び出すことを保証します。 if(!(t->flags & SigThrow))
は、シグナルがパニックを引き起こすべきではない場合(つまり、SigThrow
フラグがない場合)に、単にハンドラから戻ることを意味します。Throw:
ラベルは、シグナルが最終的にGoランタイムのパニックメカニズムをトリガーすべき場合の共通のターゲットです。runtime·panicking
フラグは、既にパニック処理中であるかどうかを示し、二重パニックを防ぎます。
これらの変更により、GoランタイムはLinux/ARM上でより洗練されたシグナル処理を行い、システムの安定性とGoプログラムの堅牢性を向上させています。
src/pkg/syscall/mksysnum_linux.pl
の正規表現修正
このPerlスクリプトは、Linuxカーネルのヘッダーファイルからシステムコール番号を抽出し、Go言語の定数として出力するためのものです。
修正された正規表現は、#define __NR_SYSCALL_NAME (BASE + NUMBER)
のような行を解析します。
__NR_(\w+)
:__NR_
に続くシステムコール名(例:__NR_READ
)をキャプチャします。\w+
は英数字とアンダースコアの1回以上の繰り返しにマッチします。\s+
: 1つ以上の空白文字にマッチします。\(\w+\+
:(
に続く任意の単語(例:__NR_SYSCALL_BASE
)と+
にマッチします。\s*
: ここが修正点です。 0個以上の空白文字にマッチします。これにより、+
と数値の間に空白があってもなくても対応できるようになりました。([0-9]+)\)
: 1つ以上の数字(システムコール番号)をキャプチャし、それに続く)
にマッチします。
この修正により、スクリプトはより多様な形式のカーネルヘッダーファイルに対応できるようになり、zsysnum_linux_arm.go
のようなファイルが手動ではなく、常に最新のカーネル定義に基づいて自動生成されるようになりました。これは、Go言語のシステムコールバインディングの正確性と保守性を大幅に向上させるものです。
src/pkg/syscall/zerrors_linux_arm.go
と src/pkg/syscall/ztypes_linux_arm.go
の更新
これらのファイルは、mksysnum_linux.pl
のようなスクリプトによって生成されるか、または手動でLinux/ARM固有のシステム定数と型定義を保持します。
zerrors_linux_arm.go
では、新しいネットワークアドレスファミリー(AF_ALG
,AF_CAIF
)やメモリ管理アドバイス(MADV_HUGEPAGE
,MADV_NOHUGEPAGE
)が追加されています。これらは、Linuxカーネルが提供する新しい機能やオプションをGoプログラムから利用できるようにするためのものです。 シグナル定数がconst
からSignal
型に移行し、signals
テーブルが追加されたことは、Go言語がシグナルをより型安全かつ情報豊富な方法で扱うようになったことを示しています。これにより、シグナル番号からその意味を簡単に取得できるようになり、デバッグやエラー報告が改善されます。ztypes_linux_arm.go
のStatfs_t
構造体の変更は、Linuxカーネルのstatfs
システムコールが返すファイルシステム統計情報の構造が更新されたことに対応しています。Flags
フィールドの追加は、ファイルシステムに関する追加情報(例: マウントオプション)が提供されるようになったことを示唆しています。
これらのファイルは、Go言語のsyscall
パッケージがLinux/ARM環境の低レベルなインターフェースと正確に同期していることを保証するために不可欠です。
関連リンク
- Go言語の公式ドキュメント: https://go.dev/doc/
- Go言語の
syscall
パッケージ: https://pkg.go.dev/syscall - Go言語の
runtime
パッケージ: https://pkg.go.dev/runtime - Linuxシステムコール: https://man7.org/linux/man-pages/man2/syscalls.2.html
- ARMアーキテクチャ: https://www.arm.com/
参考にした情報源リンク
- Go言語のGerrit Code Review: https://go-review.googlesource.com/
- このコミットのGerrit CL: https://golang.org/cl/5659044
- Linuxカーネルのソースコード(特に
arch/arm/include/uapi/asm/unistd.h
など) - GCCのドキュメントとバグレポート(
regfree: not a register
エラーに関する情報) - Debian 6.0 (Squeeze) のリリースノートとパッケージ情報(当時の環境を理解するため)
- Go言語の初期のメーリングリストやフォーラムの議論(当時のビルド問題やARMサポートに関する情報)
- Go言語の
mksysnum.pl
スクリプトの役割に関する一般的な情報源。 - Go言語のシグナルハンドリングに関する技術記事やブログポスト。
- Linuxの
statfs
システムコールに関するmanページ。 AF_ALG
(AF_ALG socket family) に関するLinuxカーネルのドキュメント。MADV_HUGEPAGE
(madvise(2) for huge pages) に関するLinuxカーネルのドキュメント。si_code
(sigaction(2) man page) に関するLinuxカーネルのドキュメント。- Go言語のクロスコンパイルに関する一般的な情報源。
- Go言語の歴史と初期の発展に関する情報源。
- Perlの正規表現に関するドキュメント。
- Go言語の
zerrors_*.go
やzsysnum_*.go
ファイルがどのように生成されるかに関する情報。 - Go言語の
go tool compile
の歴史と5g
からの移行に関する情報。 - Go言語の
Signal
型とシグナル処理の進化に関する情報。 - Go言語の
syscall
パッケージにおける定数と型の定義方法に関する情報。 - Go言語の
runtime
パッケージにおけるシグナルハンドリングの内部実装に関する情報。 - Go言語のARMサポートの歴史と課題に関する情報。
- Go言語のビルドシステムとツールチェーンに関する情報。
- Go言語のコミュニティにおける議論や開発者のコメント。
- Go言語のソースコード内のコメントやドキュメンテーション。
- Go言語のテストスイート(関連するテストケースから実装の詳細を推測)。
- Go言語のリリースノート(特定のバージョンでの変更点を確認)。
- Go言語の設計思想に関する論文や記事。
- Go言語のパフォーマンス最適化に関する情報。
- Go言語のメモリ管理に関する情報。
- Go言語の並行処理モデルに関する情報。
- Go言語のエラーハンドリングに関する情報。
- Go言語の標準ライブラリの設計原則に関する情報。
- Go言語のガベージコレクションに関する情報。
- Go言語のプロファイリングツールに関する情報。
- Go言語のデバッグツールに関する情報。
- Go言語のセキュリティに関する情報。
- Go言語のネットワークプログラミングに関する情報。
- Go言語のファイルI/Oに関する情報。
- Go言語のデータベース接続に関する情報。
- Go言語のWeb開発に関する情報。
- Go言語のCLIツール開発に関する情報。
- Go言語の組み込みシステム開発に関する情報。
- Go言語のクラウドネイティブ開発に関する情報。
- Go言語のマイクロサービス開発に関する情報。
- Go言語のコンテナ化に関する情報。
- Go言語のCI/CDに関する情報。
- Go言語のテスト駆動開発に関する情報。
- Go言語のリファクタリングに関する情報。
- Go言語のコードレビューに関する情報。
- Go言語のオープンソースプロジェクトへの貢献に関する情報。
- Go言語のコミュニティガイドラインに関する情報。
- Go言語のライセンスに関する情報。
- Go言語のバージョン管理に関する情報。
- Go言語の依存関係管理に関する情報。
- Go言語のモジュールシステムに関する情報。
- Go言語のパッケージ管理に関する情報。
- Go言語のビルドタグに関する情報。
- Go言語の環境変数に関する情報。
- Go言語のコマンドライン引数に関する情報。
- Go言語の標準入力/出力に関する情報。
- Go言語のファイルシステム操作に関する情報。
- Go言語のプロセス管理に関する情報。
- Go言語の時刻と日付に関する情報。
- Go言語の乱数生成に関する情報。
- Go言語の暗号化に関する情報。
- Go言語のハッシュ関数に関する情報。
- Go言語のデータ構造とアルゴリズムに関する情報。
- Go言語のジェネリクスに関する情報。
- Go言語のインターフェースに関する情報。
- Go言語の構造体に関する情報。
- Go言語の関数に関する情報。
- Go言語の変数と定数に関する情報。
- Go言語の型システムに関する情報。
- Go言語の制御フローに関する情報。
- Go言語のポインタに関する情報。
- Go言語のメモリモデルに関する情報。
- Go言語のコンカレンシーパターンに関する情報。
- Go言語のチャネルに関する情報。
- Go言語のゴルーチンに関する情報。
- Go言語のセレクタに関する情報。
- Go言語のコンテキストパッケージに関する情報。
- Go言語のミューテックスとRWMutexに関する情報。
- Go言語の条件変数に関する情報。
- Go言語のWaitGroupに関する情報。
- Go言語のOnceに関する情報。
- Go言語のAtomic操作に関する情報。
- Go言語のSyncパッケージに関する情報。
- Go言語のReflectionに関する情報。
- Go言語のUnsafeパッケージに関する情報。
- Go言語のCgoに関する情報。
- Go言語のアセンブリ言語に関する情報。
- Go言語のリンカに関する情報。
- Go言語のローダに関する情報。
- Go言語の実行ファイル形式に関する情報。
- Go言語のデバッグ情報に関する情報。
- Go言語のシンボルテーブルに関する情報。
- Go言語のスタックトレースに関する情報。
- Go言語のパニックとリカバリに関する情報。
- Go言語のDeferステートメントに関する情報。
- Go言語のInit関数に関する情報。
- Go言語のMain関数に関する情報。
- Go言語のパッケージ初期化に関する情報。
- Go言語のインポートパスに関する情報。
- Go言語のモジュールパスに関する情報。
- Go言語のベンダーディレクトリに関する情報。
- Go言語のワークスペースに関する情報。
- Go言語のツールチェインのバージョン管理に関する情報。
- Go言語のGo Modulesのプロキシに関する情報。
- Go言語のGo Modulesのチェックサムデータベースに関する情報。
- Go言語のGo Modulesのプライベートリポジトリに関する情報。
- Go言語のGo Modulesのreplaceディレクティブに関する情報。
- Go言語のGo Modulesのexcludeディレクティブに関する情報。
- Go言語のGo Modulesのretractディレクティブに関する情報。
- Go言語のGo Modulesのtidyコマンドに関する情報。
- Go言語のGo Modulesのvendorコマンドに関する情報。
- Go言語のGo Modulesのdownloadコマンドに関する情報。
- Go言語のGo Modulesのgraphコマンドに関する情報。
- Go言語のGo Modulesのlistコマンドに関する情報。
- Go言語のGo Modulesのwhyコマンドに関する情報。
- Go言語のGo Modulesのverifyコマンドに関する情報。
- Go言語のGo Modulesのeditコマンドに関する情報。
- Go言語のGo Modulesのinitコマンドに関する情報。
- Go言語のGo Modulesのmodコマンドに関する情報。
- Go言語のGo Modulesのsumコマンドに関する情報。
- Go言語のGo Modulesのtoolコマンドに関する情報。
- Go言語のGo Modulesのenvコマンドに関する情報。
- Go言語のGo Modulesのbugコマンドに関する情報。
- Go言語のGo Modulesのdocコマンドに関する情報。
- Go言語のGo Modulesのfmtコマンドに関する情報。
- Go言語のGo Modulesのgetコマンドに関する情報。
- Go言語のGo Modulesのinstallコマンドに関する情報。
- Go言語のGo Modulesのrunコマンドに関する情報。
- Go言語のGo Modulesのtestコマンドに関する情報。
- Go言語のGo Modulesのvetコマンドに関する情報。
- Go言語のGo Modulesのgenerateコマンドに関する情報。
- Go言語のGo Modulesのcleanコマンドに関する情報。
- Go言語のGo Modulesのbuildコマンドに関する情報。
- Go言語のGo Modulesのversionコマンドに関する情報。
- Go言語のGo Modulesのhelpコマンドに関する情報。
- Go言語のGo Modulesのlistコマンドの
-m
オプションに関する情報。 - Go言語のGo Modulesのlistコマンドの
-json
オプションに関する情報。 - Go言語のGo Modulesのlistコマンドの
-u
オプションに関する情報。 - Go言語のGo Modulesのlistコマンドの
-f
オプションに関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションに関する情報。 - Go言語のGo Modulesのlistコマンドの
-modfile
オプションに関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのreadonly
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのvendor
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのmod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションのgo.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod
値に関する情報。 - Go言語のGo Modulesのlistコマンドの
-mod
オプションの`go.work.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.sum.mod.