Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Elementary algorithm
Search
Hirokazu Maruta
September 29, 2021
Science
30
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Elementary algorithm
Hirokazu Maruta
September 29, 2021
More Decks by Hirokazu Maruta
See All by Hirokazu Maruta
encryption
mochisuna
0
120
わかった気になるチューリングマシン
mochisuna
0
62
ssh-dynamic-forward
mochisuna
0
65
ServerlessFramework-Trello
mochisuna
0
36
TechBash Slack Reaction Award
mochisuna
0
51
techbash-clasp
mochisuna
0
100
vuejs-night-publish
mochisuna
0
1.2k
surprise-lt-for-intern-vol-2
mochisuna
0
59
docker-multi-stage-build
mochisuna
0
170
Other Decks in Science
See All in Science
DMMにおけるABテスト検証設計の工夫
xc6da
1
2k
水耕栽培を始める前に知っておきたい植物の科学
grow_design_lab
0
230
CVPR2026_VGGTとその仲間たち
mickey_0226
0
790
MATSUO Makiko
genomethica
0
150
次代のデータサイエンティストへ~スキルチェックリスト、タスクリスト更新~
datascientistsociety
PRO
3
43k
Amusing Abliteration
ianozsvald
1
200
AIを用いた PID制御で部屋 の温度制御をしてみた
nearme_tech
PRO
0
140
AkarengaLT vol.40
hashimoto_kei
0
110
データベース01: データベースを使わない世界
trycycle
PRO
1
1.3k
20260220 OpenIDファウンデーション・ジャパン ご紹介 / 20260220 OpenID Foundation Japan Intro
oidfj
0
360
AI bij literatuuronderzoek in de wetenschap
voginip
0
170
白金鉱業Meetup_Vol.20 効果検証ことはじめ / Introduction to Impact Evaluation
brainpadpr
2
1.9k
Featured
See All Featured
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
My Coaching Mixtape
mlcsv
0
140
Believing is Seeing
oripsolob
1
140
We Are The Robots
honzajavorek
0
240
Optimizing for Happiness
mojombo
378
71k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
970
Marketing to machines
jonoalderson
1
5.4k
Transcript
ษڧձ
ࣗݾհ https://github.com/mochisuna • ؙాʢ·ΔͨͻΖ͔ͣʣ • Twitter: @mochi_suna • ओʹαʔόʔαΠυΤϯδχΞ •
झຯɿϐΞϊɺϘυήɺΞΠίϯ࡞ʢΧούʣɺϓϨθϯ • ࣗಈԽେ͖ɻख࡞ۀ͖Β͍ • githubɿ @mochisuna
ٕज़໘
ͯͯ
ࠓ·Ͱͷൃද ↑લʑճ ↑લճ
ΤϯδχΞɾɾɾʁ
ͪΐͬͱਅ໘ͳ ༰ʹ͍ͨ͠
ੲͷઐ͔Β࣋ͬͯ͜Α͏ʂ
ΞϧΰϦζϜͷೖ ɾɾɾͷೖ ·Δͨ
͢͜ͱ • ΞϧΰϦζϜɾɾɾʁ • ʮྑ͍ʯΞϧΰϦζϜ • ܭࢉྔ • ޮΑ͘Λղ͜͏ •
ੈքதͰΘΕΔΞϧΰϦζϜ
ΞϧΰϦζϜɾɾɾʁ
None
ΞϧΰϦζϜʢAlgorithmʣ • ʮܭࢉՄೳʯͳ͜ͱΛܭࢉ͢Δɺܗࣜతͳखଓ͖ ͷ͜ͱɺ͋Δ͍ͦΕΛܗࣜతʹදݱͨ͠ͷ • ίϯϐϡʔλʹܭࢉͤ͞ΔͨΊͷʮܭࢉํ๏ʯ
ΞϧΰϦζϜʢAlgorithmʣ • ʮܭࢉՄೳʯͳ͜ͱΛܭࢉ͢Δɺܗࣜతͳखଓ͖ ͷ͜ͱɺ͋Δ͍ͦΕΛܗࣜతʹදݱͨ͠ͷ • ίϯϐϡʔλʹܭࢉͤ͞ΔͨΊͷʮܭࢉํ๏ʯ 🤔🤔🤔
ॱ൪ʹ۷ΓԼ͍͛ͯ͘
ͦͦ
ίϯϐϡʔλ͓όΧ͞Μ ʘͳΜͩͱʔʗ ʘ͔ʹ͢Μͳʔʗ
ίϯϐϡʔλ͔֬ʹ͍͢͝ • ͍͢͝ܭࢉೳྗ • Կԯ×Կԯͷܭࢉ͕ਖ਼͔֬ͭߴ • ͍͢͝هԱྗ • ԿઍɺԿສͷΛਖ਼֬ʹهԱͰ͖Δ ʘ͑ͬΜʗ
ʘͲ͊ʗ
Ͱίϯϐϡʔλ͓όΧ͞Μ • ࣗྗͰߟ͑ΒΕͳ͍ • ՝ΛղऍͰ͖ͳ͍ • ʮϓϩάϥϜࢥͬͨ௨Γʹಈ͔ͳ͍ɻʯ ʮॻ͍ͨ௨Γʹಈ͘ʯ ʘOh…ʗ ʘͦΕ܅ͨͪͷࣄ͞ʗ
۩ମతͳྫͰߟ͍͑ͯ͜͏
• Q͞Μ3ʹҰɺఆظతʹπΠʔτ͠·͢ɻ • Q͞Μ3ͷഒͷྸͷ࣌ʹඞͣ1ճ͚ͩπΠʔτ ͠ɺͦΕҎ֎ͷྸͷ࣌Ұ͠·ͤΜɻ • ͰɺQ͞ΜಛఆͷAࡀ͔ΒBࡀ·ͰͷؒʹԿճπ Πʔτ͢ΔͰ͠ΐ͏͔ʁ
͜ͷ··Ͱ ίϯϐϡʔλͰ ॲཧͰ͖ͳ͍ ʘʁʁʁʗ ʘʁʁʁʗ
PCͰॲཧͰ͖ΔΑ͏ʹཧ • A,BΛఆٛ • A≦ i ≦B Λຬͨ͢ i ͷதͰ3ͷഒ͕͍ͭ͘
͋Δ͔Λܭ্͠ͳ͍͞ ྫɿA=10ࡀ, B=25ࡀɹˠɹ5ճ πΠʔτ º º ̋ º º ̋ º º ̋ º º ̋ º º ̋ º ྸ
ϓϩάϥϜʹམͱ͠ࠐΉ sum := 0 FOR i := A; i <=
B; i++ IF i%3 == 0 sum++ END END print(sum)
͜͜·Ͱͬͯ ॳΊ͕ͯղ͚Δ ʘ͜ͷϓϩάϥϜͰ͍͍ͷʁʗ ʘ͜ΕΛܭࢉ͢Ε͍͍ͷͶʁʗ
ΞϧΰϦζϜ
ΞϧΰϦζϜ • ίϯϐϡʔλʹܭࢉͤ͞ΔͨΊͷʮܭࢉํ๏ʯ • ʮͲ͏ܭࢉͤ͞Δ͔ʯͷखॱ ʘܭࢉʗ ʘͤͯʂʗ
ݱ࣮ͷΛ Ͳ͏ͬͯϓϩάϥϜʹ མͱ͠ࠐΉ͔
͜Ε͕େࣄ
ࠓճΞϧΰϦζϜͷྫ͔Β ͦͷੌ͞ͱԞਂ͞ʹ ͪΐͬͱͰ͍͑ͨ
͋Μ·͍͠ ༻ޠͱ͔֓೦ Θͳ͍Α͏ʹؤுΔ ʢP vs NPͱ͔ʣ
ʮྑ͍ʯΞϧΰϦζϜ
ΞϧΰϦζϜʹʮղ͖ํʯ • ޮͷྑ͍ղ͖ํɾѱ͍ղ͖ํ͕͋Δ • ͪΐͬͱݟͯΈΑ͏ • https://www.toptal.com/developers/ sorting-algorithms
ॲཧޮ͕શવҧ͏
ޮͷʮྑ͍ʯ ΞϧΰϦζϜ͕ ༏Ε͍ͯΔ
None
PCͷੑೳ͕ 10ഒɺ20ഒʹͳΕ ؔͳ͍ΑͶʂ ʘͤͳʗ ʘͦΕͳʗ
೦
۪ͳΞϧΰϦζϜͰ PCͰղ͚ͳ͍͕͋Δ ʘ͑ͬʗ ʘ͑ͬʗ
८ճηʔϧεϚϯ
८ճηʔϧεϚϯ • Ұ൪গͳ͍ҠಈίετͰɺશͯͷՈΛͪΐ͏Ͳ ̍ճ͚ͩ๚͠ձࣾʹͬͯ͘Δ • NݸͷՈ͕͋Δ߹N!௨ΓͷΈ߹Θͤ
ϐϯͱ͜ͳ͍ɾɾɾɻ • N=̑ͷ߹ɿ120௨Γ • N=10ͷ߹ɿ3628800௨Γ • N=15ͷ߹ɿ1.3*1012௨Γ • N=20ͷ߹ɿ2.4*1018௨Γ •
N=100ͷ߹ɾɾɾʁ
Έ߹Θͤരൃ • 1ؒ = 31536000ඵ ≒ 3.2*108ඵ • 1GHzʹඵؒ1.0 *
109ճͷԋࢉ • 3.2*108 × 1.0*109 = 3.2 * 1017
Έ߹Θͤരൃ • 1ؒ = 31536000ඵ ≒ 3.2*108ඵ • 1GHzʹඵؒ1.0 *
109ճͷԋࢉ • 3.2*108 × 1.0*109 = 3.2 * 1017 N=20ʢ2.4*1018ʣͰ͢Β 10ۙ͘ճͯ͠ղ͕ग़ͳ͍
ޮͷʮྑ͍ʯΞϧΰϦζϜ ͕ ٻΊΒΕ͍ͯΔ
ޮͷʮྑ͞ʯ ʮܭࢉྔʯ
ܭࢉྔ • ϓϩάϥϜͷ࣮ߦ։͔࢝Βऴྃ·Ͱʹ͔͔Δ ࣌ؒʢۭؒʣΛධՁ • େࡶʹͲͷ͘Β͍͕͔͔࣌ؒΔͷ͔ • ࣮༻Ͱେࣄ • ೖྗͷݸͷൣғΛมͱ͢Δ
ܭࢉྔͷྫɿ1ॏϧʔϓ sum := 0 FOR i := 0; i <
N; i++ sum += i END ճ࣮ߦ /ճ࣮ߦ
ܭࢉྔͷྫɿ1ॏϧʔϓ • sum, i ͷએݴɾॳظԽɿ1ճ • “i < N”, “sum
+= i”, “i++”ɿ Nճ • ૯ܭࢉɿ3N + 3ճ sum := 0 FOR i := 0; i < N; i++ sum += i END ճ࣮ߦ /ճ࣮ߦ
ܭࢉྔͷྫɿ1ॏϧʔϓ • sum, i ͷએݴɾॳظԽɿ1ճ • “i < N”, “sum
+= i”, “i++”ɿ Nճ • ૯ܭࢉɿ3N + 3ճ • ܭࢉྔɿO(N) sum := 0 FOR i := 0; i < N; i++ sum += i END ճ࣮ߦ /ճ࣮ߦ Ұ൪Өڹͷڧ͍ มʹൺྫ
ܭࢉྔͷྫɿ2ॏϧʔϓ • sum, i ͷએݴɾॳظԽɿ1ճ • “i < M”, “i++”,
jͷએݴɾॳظԽɿ Mճ • “j < N”, “sum += i * j”, “j++”ɿ M*Nճ sum := 0 FOR i := 0; i < M; i++ FOR j := 0; j < N; j++ sum += i * j ճ࣮ߦ /ճ࣮ߦ
ܭࢉྔͷྫɿ2ॏϧʔϓ • sum, i ͷએݴɾॳظԽɿ1ճ • “i < M”, “i++”,
jͷએݴɾॳظԽɿ Mճ • “j < N”, “sum += i * j”, “j++”ɿ M*Nճ • ૯ܭࢉɿ3MN + 4M + 3ճ • ܭࢉྔɿO(MN) sum := 0 FOR i := 0; i < M; i++ FOR j := 0; j < N; j++ sum += i * j ճ࣮ߦ /ճ࣮ߦ Ұ൪Өڹͷڧ͍ มʹൺྫ
Өڹʹ͍ͭͯิ • 3MN + 4M + 3ʹ͍ͭͯߟ͑Δ ./ ./ ./
. ./ ./ .
ܭࢉྔͷෆࣜ n ͕ेେ͖͍ͱҎԼཱ͕ ෆࣜͷࠨลʹߦ͘΄Ͳߴ log n < n < n
< n2 < n3 < 2n < 3n < n!
ܭࢉྔͷൺֱ
ޮΑ͘Λղ͜͏
͡ΊͷҰาɿ୳ࡧ • ͋ΔσʔληοτAʹ͋Δn͕͋Δ͔ʁ • A = [4,8,23,7,1,9] • n =
7
۪ͳ୳ࡧ • લ͔Βॱʹ୳ࡧ → n = 7ʹҰகͨ͠ΒTRUE O ˣ J
"
۪ͳ୳ࡧ • લ͔Βॱʹ୳ࡧ → n = 7ʹҰகͨ͠ΒTRUE O º ˣ
J "
۪ͳ୳ࡧ • લ͔Βॱʹ୳ࡧ → n = 7ʹҰகͨ͠ΒTRUE O º º
ˣ J "
۪ͳ୳ࡧ • લ͔Βॱʹ୳ࡧ → n = 7ʹҰகͨ͠ΒTRUE O º º
º ˣ J "
۪ͳ୳ࡧ • લ͔Βॱʹ୳ࡧ → n = 7ʹҰகͨ͠ΒTRUE O º º
º ✅ J "
͜ͷ··ͩͱ • Nݸͷσʔληοτͷ߹ɿO(N)ճͷܭࢉྔ • ͕গͳ͚Εྑ͍͚Ͳແବ͕ଟ͍ O º º º º
º º J "
Ͳ͏͠Α͏ʁ
• ॲཧ͢ΔରΛݮΒ͠ޮԽ ·ͣιʔτ O J
" ͔͜͜Βઌ ॲཧෆཁ
• ॲཧ͢ΔରΛݮΒ͠ޮԽ • ͨͩ͠ɺܭࢉྔԼ͕Βͳ͍ ·ͣιʔτ O J
" ͔͜͜Βઌ ॲཧෆཁ
ͬͱޮԽ
• தԝ͔Βܭࢉɿ(5+0)/2 = 2 ೋ୳ࡧ O ˣ J
"
• தԝ͔Βܭࢉɿ(5+0)/2 = 2 • 3 < 7 ͳͷͰࠨͷۭؒΛݕࡧ ೋ୳ࡧ
O ˣ J "
• தԝ͔Βܭࢉɿ(2+0)/2 = 1 ೋ୳ࡧ O ˣ º J
"
• தԝ͔Βܭࢉɿ(2+0)/2 = 1 • 3 < 4 ͳͷͰࠨͷۭؒΛݕࡧ ೋ୳ࡧ
O ˣ º J "
• தԝ͔Βܭࢉɿ(1+0)/2 = 0 • 3 > 1 ͳͷͰଘࡏ͠ͳ͍ ೋ୳ࡧ
O ˣ º º J "
ͬͱڊେͳྫ A = [1,2,…100] , n = 9 1.ɹi=50, A[i]=51
→ 9 < 51ͳͷͰ i = (50 + 0) / 2 2.ɹi=25, A[i]=26 → 9 < 26ͳͷͰ i = (25 + 0) / 2 3.ɹi=12, A[i]=13 → 9 < 13ͳͷͰ i = (12 + 0) / 2 4.ɹi= 6, A[i]= 7 → 9 > 7ͳͷͰ i = (12 + 6) / 2 5.ɹi= 9, A[i]=10 → 9 < 10ͳͷͰ i = ( 9 + 6) / 2 6.ɹi= 7, A[i]= 8 → 9 > 8ͳͷͰ i = ( 9 + 7) / 2 7.ɹi= 8, A[i]= 9 → 9 = 9ͳͷͰ TRUE
ೋ୳ࡧ • ৗʹ୳ࡧۭؒΛʹ͠ଓ͚Δ • ܭࢉྔɿO(log n) d d d d
d d d × n=13 × ×
ಉ͡୳ࡧͰɾɾɾ • ΞϧΰϦζϜҰͭͰѹతʹߴʹͳΔ • ߴͳΞϧΰϦζϜͷݚڀੈքతʹ͞Ε͍ͯΔ
͜͜·Ͱฉ͍ͯօ͞Μ ͜͏ࢥͬͨͰ͠ΐ͏
ʘผʹࣈ୳͠ͱ͔͠ͳ͍͠ʗ
ΞϧΰϦζϜͷੌ͞ ͦ͜͡Όͳ͍
ੈքதͰΘΕΔ ΞϧΰϦζϜ
ྫɿϓϩάϥϛϯάݴޠ • ͦͦͲ͏ͬͯղऍͯ͠Μͷʁ package main import "fmt" func main() {
sum := 0 A, B := 10, 25 for i := A; i <= B; i++ { if i%3 == 0 { sum++ } } fmt.Println(sum) }
ྫɿϓϩάϥϛϯάݴޠ • ࣈ۟ղੳ/ߏจղੳ/AST a = 1 b = 2 if
(b < 3) print(“hoge")
ྫɿϓϩάϥϛϯάݴޠ • ࣈ۟ղੳ/ߏจղੳ/AST a = 1 b = 2 if
(b < 3) print(“hoge") B C JG C UIFO QSJOU lIPHF FMTF QSJOU B ࣈ۟ղੳ
ྫɿϓϩάϥϛϯάݴޠ • ࣈ۟ղੳ/ߏจղੳ/AST a = 1 b = 2 if
(b < 3) print(“hoge") B C JG C UIFO QSJOU lIPHF FMTF QSJOU B CMPDL ม B ԋࢉࢠ ؔ JG Ҿ lIPHFz ೖ ม C ೖ ԋࢉࢠ ؔ UIFO ࠨล C ӈล ؔ QSJOU ԋࢉࢠ ࣈ۟ղੳ ߏ จ ղ ੳ
ྫɿϓϩάϥϛϯάݴޠ • ࣈ۟ղੳɺߏจղੳ/AST a = 1 b = 2 if
(b < 3) print(“hoge") B C JG C UIFO QSJOU lIPHF FMTF QSJOU B CMPDL ม B ԋࢉࢠ ؔ JG Ҿ lIPHFz ೖ ม C ೖ ԋࢉࢠ ؔ UIFO ࠨล C ӈล ؔ QSJOU ԋࢉࢠ ࣈ۟ղੳ ߏ จ ղ ੳ ҙ ຯ ղ ੳ
ྫɿਤɾ࿏ઢܦ࿏ • GoogleMap • Yahoo࿏ઢͳͲ • ໎࿏
• ෯༏ઌ୳ࡧɿBFS / ਂ͞༏ઌ୳ࡧɿDFS • Dijikstra๏ / ϕϧϚϯɾϑΥʔυ๏ • ϫʔγϟϧɾϑϩΠυ๏
࠷ܦ࿏ Start 3 6 8 12 10 3 2 1 0 5 7 4
• ෯༏ઌ୳ࡧɿBFS / ਂ͞༏ઌ୳ࡧɿDFS • Dijikstra๏ / ϕϧϚϯɾϑΥʔυ๏ • ϫʔγϟϧɾϑϩΠυ๏
࠷ܦ࿏ Start 3 6 8 12 10 3 2 1 0 5 7 4 Start 3 6 8 12 10 3 2 1 0 5 7 4
ྫɿϚονϯάΞϓϦ
ϚονϯάΞϓϦ • ײ͔ΒάϥϑΛఆٛ உ
ঁ 2 4 5 5 1 3 6 2 3
ϚονϯάΞϓϦ • ༑͔ΒάϥϑΛఆٛ • ݩͷάϥϑʹෛͷॏΈͰ༗ลΛுΔ
உ ঁ 2 4 5 5 1 3 6 2 3 உ ঁ -2 -4 -5 -1 -3 -6 -2 -3 4 5 -5
• ࠷େྲྀΞϧΰϦζϜ • ݩͷάϥϑͰ࠷େೋ෦Ϛονϯά ϚονϯάΞϓϦ -2 -5 -1 -2 -3
-5 உ ঁ -4 -3 -6 4 5 2 5 1 2 3 5 உ ঁ 4 3 6
ήʔϜ֤छ • ΠϯάϨε • ਞऔΓ • ෦ఆ
࠷େࡾ֯ܗ • NݸͷͰ࡞ΕΔ࠷େͷࡾ֯ܗʁ
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ತ๏ • ׂஔ๏ 1 2 3 4
࠷େࡾ֯ܗ • ࠷େࡾ֯ܗತแΛߏ͢Δʹଘࡏ
࠷େࡾ֯ܗ • ͠Ό͘ͱΓ๏ • ֎ੵ
࠷େࡾ֯ܗ • ͠Ό͘ͱΓ๏ • ֎ੵ
࠷େࡾ֯ܗ • ͠Ό͘ͱΓ๏ • ֎ੵ
ଟ͘ͷղܾͰ ΞϧΰϦζϜʹʮؼணʯ ͞Ε͍ͯΔ
ΞϧΰϦζϜͷੌ͞ ೖྗ͕ఆͰ͋Ε • ͲΜͳέʔεͰ • શ͘ಉ͡ϑϩʔͰ ղ͕ग़Δͱ͜Ζɻ
ΞϧΰϦζϜͷੌ͞ ೖྗ͕ఆͰ͋Ε • ͲΜͳέʔεͰ • શ͘ಉ͡ϑϩʔͰ ղ͕ग़Δͱ͜Ζɻ ̍ͭͷϓϩάϥϜͰ ղܾͰ͖ͯ͠·͏
ΛநԽ͢Δ͜ͱͰ ΞϧΰϦζϜ ྗΛൃش͢Δ
ΞϧΰϦζϜʢ࠶ܝʣ • ίϯϐϡʔλʹܭࢉͤ͞ΔͨΊͷʮܭࢉํ๏ʯ • ʮͲ͏ܭࢉͤ͞Δ͔ʯͷखॱ ʘܭࢉʗ ʘͤͯʂʗ
Α͏ͦ͜ ͘͠ඒ͍͠ ΞϧΰϦζϜͷੈք
࣭ٙԠ • ΞϧΰϦζϜɾɾɾʁ • ʮྑ͍ʯΞϧΰϦζϜ • ܭࢉྔ • ޮΑ͘Λղ͜͏ •
ੈքதͰΘΕΔΞϧΰϦζϜ