(ต่อไปนี้จะขออนุญาตเรียก Dynamic Programming สั้น ๆ ว่า ไดนามิก หรือ “หมิก” นะคะ)
Update: ติดตามตอนต่อไปได้ที่นี่
เนื้อหาในที่นี้มีความยากอยู่พอสมควร ผู้อ่านควรมีความรู้เรื่อง ฟังก์ชั่นเรียกตัวเอง (Recursive function) และ สัญกรณ์โอใหญ่ (Big-O notation) มาก่อน ขอไม่อธิบายหลักการทำงานมา ณ ที่นี้ ผู้อ่านสามารถหาอ่านเพิ่มเติมได้จากวิกิพีเดีย หรือ ที่นี่
คนที่เข้ามาอ่านก็คงสนใจเรื่องการหมิกใช่ไหมคะ ว่าหมิกคืออะไร ดังนั้นก่อนอื่นจะขอแนะนำว่า หลักการของหมิกก็คือ “จะแก้ปัญหาเล็ก ๆ ก่อน แล้วขยายไปยังปัญหาที่ใหญ่กว่าต่อไป”
อ่านแล้วอาจจะงง ไม่เป็นไรค่ะ มีคำอธิบายที่ละเอียดกว่านี้รออยู่
เราจะเริ่มจากแนะนำปัญหาจำนวนฟีโบนักชี (Fibonacci Number) ก่อนนะคะ
ลำดับฟิโบนักชี คือ ลำดับที่เริ่มต้นด้วย
และ
(ในที่นี้จะกำหนด
= 0 และ
= 1) จากนั้น นิยามให้
สำหรับทุก 
(สามารถอ่านเรื่องลำดับฟิโบนัคชีเพิ่มเติมได้ที่วิกิพีเดีย)
คำถาม: เมื่อกำหนดค่า
จงหาค่าของ 
อ๋อ ข้อนี้ไม่ยาก สิ่งแรกที่คุณอาจลองทำคือ เขียน Recursive function ขึ้นมา
int Fibonacci (int k) { if(n==0) return 0; if(n==1) return 1; return Fibonacci(k-1) + Fibonacci(k-2); }
แน่นอนว่าฟังก์ชั่นนี้สามารถหาคำตอบได้ ด้วยความตื่นเต้น คุณคีย์เลข 100 ลงไป… จากนั้นก็รอ… และรอ… เพื่อให้โปรแกรมพิมพ์คำตอบออกมา
สมมติว่าคุณใส่ค่า
ให้ฟังก์ชั่น Fibonacci ของคุณ
Fibonacci(4) จะเรียก Fibonacci(3) และ Fibonacci(2)
Fibonacci(3) จะเรียก Fibonacci(2) และ Fibonacci(1)
Fibonacci(2) จะเรียก Fibonacci(1) และ Fibonacci(0)
Fibonacci(1) จะคืนค่า 1 มา
Fibonacci(0) จะคืนค่า 0 มา
Fibonacci(1) จะคืนค่า 1 มา
Fibonacci(2) จะเรียก Fibonacci(1) และ Fibonacci(0)
Fibonacci(1) จะคืนค่า 1 มา
Fibonacci(0) จะคืนค่า 0 มา อ่านแล้วไม่เข้าใจลำดับการเรียกซ้ำก็ไม่เป็นไร… แต่โปรแกรมนั้นจะรันนานมาก สังเกตได้ว่า ต้องคิดค่า Fibonacci เดิมซ้ำบ่อย ๆ ซึ่งเป็นสาเหตุให้เสียเวลา
ดังนั้น จะทำยังไงจะได้ไม่ต้องเรียกฟังก์ชั่นเดิมซ้ำ ๆ ?
เราสังเกตว่า เวลาเราเรียก Fibonacci(n) ถ้าเราเก็บค่า Fibonacci(n-1) และ Fibonacci(n-2) ไว้ก่อนแล้ว เราก็ไม่จำเป็นต้องคำนวณค่าต่าง ๆ ซ้ำใหม่
และ Fibonacci(n) หาได้จาก Fibonacci(เลขที่น้อยกว่า n) เสมอ เราสามารถปรับปรุงโปรแกรมให้เป็นแบบนี้ได้
F[0] = 0; F[1] = 1; for(i=2; i<=k; i++) F[i] = F[i-1] + F[i-2];
เวลาโปรแกรมนี้ทำงาน ก็จะใช้เวลา
เช่น สมมติใส่ค่า
เข้าไป
F[0] = 0; F[1] = 1; F[2] = F[1] + F[0] = 1; F[3] = F[2] + F[1] = 2; F[4] = F[3] + F[2] = 3;
แบบนี้ก็เรียกว่า “หมิก” แล้ว เพราะว่าเราใช้คำตอบของปัญหาที่เล็กกว่า (หรือก็คือ Fibonacci[i-1], Fibonacci[i-2]) ในการคำนวณคำตอบของปัญหาที่ใหญ่กว่า (ในที่นี้ก็คือ Fibonacci[i])
เหนื่อยหรือยังคะ พักก่อนก็ได้นะคะ ^-^
ต่อมา จะขอแนะนำโจทย์ที่ยากขึ้นนะคะ
มีตัวเลขจำนวนเต็มบวกอยู่ n ตัว
เราต้องการเลือกตัวเลขหลาย ๆ ตัวในจำนวนนี้ให้ผลรวมตัวเลขมากที่สุด แต่มีเงื่อนไขว่า เราเลือกตัวเลขที่อยู่ติดกันไม่ได้
เช่น สำหรับลำดับตัวเลข
3, 2, 7, 4, 3, 6
ทางเลือกที่ดีที่สุดคือ เลือก 3, 7 และ 6 ได้ผลรวม 16
ขอเริ่มจากนิยามค่า
ให้แทน ผลรวมที่มากที่สุดที่เป็นไปได้ เมื่อเราพิจารณาเฉพาะ k ตัวแรก
และเราเลือก
ด้วย
จะสังเกตได้ว่า
และ
และ 
ที่เป็นเช่นนี้เพราะว่า พอเราเลือก
เราก็เลือก
ไม่ได้ เราก็ต้องไปเลือก
หรือ
แทน แล้วแทนที่เราจะย้อนคิดไปเรื่อยๆว่าจะเอาตัวไหนบ้าง เราก็ใช้ค่า
หรือ
ให้เป็นประโยชน์
ตัวอย่าง: เมื่อลำดับที่ให้มาคือ 3, 2, 7, 4, 3, 6
มีค่า 3 เพราะพิจารณาลำดับย่อย 3 เลือกตัวที่ 1
มีค่า 2 เพราะพิจารณาลำดับย่อย 3, 2 เลือกตัวที่ 2
มีค่า 10 เพราะพิจาณาลำดับย่อย 3, 2, 7 เลือกตัวที่ 1 และ 3
มีค่า 7 เพราะพิจาณาลำดับย่อย 3, 2, 7, 4 เลือกตัวที่ 1 และ 4 —
มีค่า 13 เพราะพิจาณาลำดับย่อย 3, 2, 7, 4, 3 เลือกตัวที่ 1, 3 และ 5 —
มีค่า 16 เพราะพิจาณาลำดับย่อย 3, 2, 7, 4, 3, 6 เลือกตัวที่ 1, 3 และ 6 —
คำตอบคือ
โดยไม่ต้องพิจารณา
เพราะในกรณีเหล่านั้น สามารถเพิ่ม
แล้วทำให้ได้ผลรวมมากขึ้นได้
เหตุผลที่เราคำนวณ
ได้ โดยไม่ต้องพิจารณา
เป็นเพราะว่า เราแน่ใจว่า ค่าจาก
บวกกับ
ไม่ใช่คำตอบที่ดีที่สุด เนื่องจาก เราสามารถเลือก
เพิ่มเข้ามาได้โดยไม่ผิดเงื่อนไข และกรณีนั้นจะอยู่ในกรณีที่เราพิจารณา 
อ่าว ถ้าอย่างงี้ก็จะรู้แค่ว่าค่ามากสุดเป็นเท่าไหร่สิ
ในเมื่อเราอยากรู้ว่าเราเลือกตัวไหนไปบ้าง ไม่ใช่แค่คำตอบ เราก็จะสร้าง array
อีกตัวมาบอกว่า
แต่ละตัวของเรามาจาก
หรือ 
จากนั้น จะ recursive แสดงคำตอบออกมา
มีค่า -1 (เพราะไม่ได้มาจากตัวไหนเลย)
มีค่า -1
มีค่า 1 เพราะ
มาจาก
มีค่า 1 เพราะ
มาจาก
มีค่า 3 เพราะ
มาจาก
มีค่า 3 เพราะ
มาจาก
คำตอบสุดท้ายของเราคือ
ดังนั้น
เป็นหนึ่งในตัวเลขที่เราเลือก
มีค่า 3 ดังนั้นพิจารณา
พิจารณา
ดังนั้น
เป็นหนึ่งในตัวเลขที่เราเลือก
มีค่า 1 ดังนั้นพิจารณา
พิจารณา
ดังนั้น
เป็นหนึ่งในตัวเลขที่เราเลือก
มีค่า -1 ดังนั้นเราไม่ต้องทำต่อแล้ว
สุดท้าย เราจะได้คำตอบเป็น 3, 7, 6 ตามต้องการ
เราไม่ต้องใช้ array
ก็ได้ เวลาเราจะพิจารณาว่า คำตอบเรามาจากตัวไหน ก็ใช้แนวคิดเดียวกับตอนหมิกครั้งแรก
เช่น พิจารณา
ว่ามาจากตัวไหน เราก็ดูว่า
กับ
ตัวไหนมากกว่า แล้วก็ไปทำตัวนั้นต่อ
แต่ว่าโปรแกรมจะทำงานนานขึ้นเล็กน้อย
ถ้าไม่เข้าใจลองอ่านซ้ำดูนะคะ หรือคอมเมนท์ถามไว้ก็ได้ค่ะ
มีกล้วยลอยอยู่บนฟ้าทุก ๆ 1 เมตร กล้วยแต่ละหวีมีจำนวนกล้วยไม่เท่ากัน
สมมติก้านกล้วยต้องการกินกล้วยหวีที่ i ก้านกล้วยจะต้องเตรียมตัวกระโดดตั้งแต่เมตรที่ i-1 และจะต้องเตรียมตัวลงสู่พื้นตอนเมตรที่ i+1
ก้านกล้วยจะวิ่งตั้งแต่เมตรที่ 1 ถึงเมตรที่ N รอบเดียวเท่านั้นจะกินกล้วยได้มากที่สุดกี่ลูก
ก้านกล้วยไม่สามารถเตรียมกระโดดก่อนเมตรที่หนึ่งได้ แต่สามารถลงสู่พื้นหลังเมตรสุดท้ายได้ตัวอย่าง
3 4 1 7 2 7 6 — กล้วย
1 2 3 4 5 6 7 8 — เมตรที่ก้านกล้วยต้องเตรียมกระโดดเมตรที่สาม กระโดดเมตรที่สี่เพื่อเอากล้วยหวีที่มี 7 ลูก ลงสู่พื้นเมตรที่ห้า
เตรียมกระโดดอีกครั้งเมตรที่หก กระโดดเมตรที่ 7 เพื่อเอากล้วยหวีที่มี 6 ลูก ลงสู่พื้นเมตรที่ 8 (ที่ไม่มีกล้วย)
จะกินกล้วยได้ทั้งหมด 13 ลูกด้วยกัน
ขอจบเพียงเท่านี้ละกันนะคะ สำหรับการแนะนำหมิกแบบเบื้องต้น (เดี๋ยวมีภาคต่อ ^^)
ถ้ามีคำแนะนำ ข้อสงสัย อ่านไม่เข้าใจ (ถ้าใช่ก็ขออภัยด้วยค่ะ เพิ่งเคยเขียนบล็อก) ฯลฯ ฝากคอมเมนท์ไว้ได้เลยค่ะ
Comments
duKoXGuAVdEPoj
haglund, cialis generico comprar, 83413, prix cialis, vnkcpk, cialis form indian pharmacies, 86487, cialis sans ordonnance belgique, qonigd, comprare cialis, 317, acheter cialis, yqoon, cialis 5 mg, 8[, acheter cialis, adf, cialis, 8-PP, effetti cialis, 79781, effetti collaterali cialis, ekv, comprar cialis generico en espa?a, ooloc, cialis senza ricetta, 97790, viagra ou cialis, 57474, comprare viagra italia cialis online, 470987, cialis viagra, mmqmm,
FGErIqarRF
sosos, cialis generico comprar, %DD, cialis efectos secundarios, >:-[, cialis belgique, 6457, comprar cialis, =)), comprar cialis generico en espa?a, 5055, cialis precio, 156, cialis effet secondaire, 15144, viagra ou cialis, 216811, cialis viagra, =-(((, acheter viagra cialis, 995,
onpEwMVQLKkepNk
hink, cialis generico comprar, 8-], prix cialis, exgp, comprare viagra italia cialis levitra, 5358, comprare cialis, hyro, acheter cialis, 318, generica cialis, 2772, cialis 20 mg, 04611, effetti collaterali cialis, oza, cialis precio, 004, achat cialis, 047091, viagra ou cialis, >:-PP, cialis viagra, afav, viagra cialis generica, 653361, acheter viagra cialis, 8-D,
NgbCbgOsHqEjI
perustuu, acheter cialis en france, 5386, generica cialis, nhpb, achat cialis viagra, 98617, effetti cialis, 67009, comprar cialis, 13497, cialis precio, 1551, cialis effet secondaire, 072, comprar cialis generico, 406520, cialis viagra, >:PP,
mhaapidVdn
encontraram, cialis generico comprar, 7234, achat cialis france, >:-OO, cialis efectos secundarios, ora, achat viagra france cialis levitra, 539, acheter cialis, 1919, cialis 5 mg, 558, cialis 20 mg, %-P, effetti collaterali cialis, >:-PP, comprar cialis, gozx, cialis viagra, kzx, cialis generico, :]]], forum cialis, 80252, cialis senza ricetta, terjx, acheter cialis france, 83311, cialis, jeyo, vendita cialis, =O,
SoCYUCZahJTZUYlozU
dans, comprare viagra italia cialis levitra, 255, cialis form indian pharmacies, >:]]], acheter cialis en france, dycmd, cialis belgique, %[, cialis, :-)), comprar cialis, =]]], comprar cialis generico en espa?a, 8O, cialis generico, %-DD, comprar cialis generico, =-[[, acheter cialis france, 8155, comprare viagra italia cialis online, vkcnk, cialis viagra, udrwf, acheter viagra cialis, gpoxb,
viagra
Hello! viagra ,
cheap viagra
Hello! cheap viagra ,
buy cialis
Hello! buy cialis ,
cheap viagra
Hello! cheap viagra ,
cheap viagra
Hello! cheap viagra ,
buy cialis
Hello! buy cialis , viagra , viagra , cheap viagra , cheap viagra ,
viagra
Hello! viagra , viagra , cheap viagra , cheap viagra , cialis online ,
Thank you for sharing this
Thank you for sharing this :)
Get affordable quality wigs and hair extensions at www.5starwigs.com
Indian Remy Hair Virgin Remy Hair
Live Laugh Learn
viagra
Hello! viagra , buy cialis , viagra , cheap viagra , cheap viagra ,
qKowVqpPMAtKsTFrnY
kietoa, cialis controindicazioni, =DD, cialis form indian pharmacies, kfjvn, cialis sans ordonnance belgique, aaq, comprare cialis, uyvrpm, achat cialis viagra, 3727, cialis 20 mg, =DD, cialis, aozp, viagra ou cialis, %-D, vendita cialis, 2639,
IwgTeSpxism
helige, prix cialis, 7330, cialis controindicazioni, dynwk, acheter cialis original, 277, comprare cialis, poh, achat viagra france cialis levitra, 8-OO, acheter cialis, hbrq, acheter cialis, 54694, achat cialis viagra, 8DD, cialis 20 mg, tfa, cialis belgique, qxwq, cialis, wih, effetti collaterali cialis, 1373, forum cialis, =-DDD, achat cialis, :-[, comprar cialis generico, 02867, cialis viagra, zuthtx,
WLiJTchFyfHaGtzuX
melon, cialis sans ordonnance belgique, acj, achat cialis france, 6294, comprare cialis, 408670, achat cialis viagra, =)), acheter cialis, 5042, effetti cialis, uiiacr, comprar cialis generico en espa?a, =PPP, cialis acheter, xqcu, cialis effet secondaire, 6732, viagra ou cialis, ogldzf, acheter cialis france, 895150, cialis, ukn,
Thank you for sharing this
Thank you for sharing this :)
Get affordable quality wigs and hair extensions at www.5starwigs.com
Indian Remy Hair Virgin Remy Hair
Live Laugh Learn
Thank you for sharing this
Thank you for sharing this :)
Get affordable quality wigs and hair extensions at www.5starwigs.com
Indian Remy Hair Virgin Remy Hair
Live Laugh Learn
cheap viagra
Hello! cheap viagra , cheap viagra , viagra , viagra , cheap cialis ,
Thank you for sharing this
Thank you for sharing this :)
Get affordable quality wigs and hair extensions at www.5starwigs.com
Indian Remy Hair Virgin Remy Hair
Live Laugh Learn
Thank you for sharing this
Thank you for sharing this :)
Get affordable quality wigs and hair extensions at www.5starwigs.com
Indian Remy Hair Virgin Remy Hair
Live Laugh Learn
viagra
Hello! viagra , buy viagra , viagra , cheap viagra , viagra ,
Viagra
KUomsY Viagra QHRizk Buy Cialis 2934 Cialis agPkw Buy Cialis tUPcy Viagra LtfGKb Buy Cialis Online 4433
cheap viagra
Hello! cheap viagra , cialis , viagra , viagra , cialis online ,
CiUfEGVfqmWSXEmIh
sporge, cialis generico comprar, slxwk, comprare viagra italia cialis levitra, :-PP, cialis generico, =-PPP, comprare cialis, hhsba, acheter cialis en france, 458926, cialis 20 mg, >:[[[, comprar cialis, 25653, cialis viagra, wmzhp, viagra cialis generica, 8-[[[,
vtEINVOlNcsniBO
wichtiger, prix cialis, ashdtn, achat viagra france cialis levitra, 615, effetti collaterali cialis, 8[[, cialis acheter, =-], cialis generico, mpluv, forum cialis, pxq, cialis sin receta, 016, cialis, >:-]], acheter viagra cialis, 5982,
NNvHVFxgTY
reszleges, cialis generico, jvdwfe, cialis efectos secundarios, kcpirs, acheter cialis, zxf, achat cialis viagra, xmtf, cialis 20 mg, %DD, cialis belgique, 8-D, cialis viagra, yqxxd, cialis generico, =-OOO, cialis effet secondaire, >:-(, acheter cialis france, wypjpx, vendita cialis, mcsbgt,
yGdEvbFLftQCaCXE
habitantes, comprare viagra italia cialis levitra, qnedm, acheter cialis en france, dtutaq, acheter cialis, vvklgr, achat cialis viagra, 619358, effetti cialis, rtpkm, cialis, :))), cialis acheter, %-OOO, cialis precio, :-((, cialis viagra, enska, forum cialis, %), cialis senza ricetta, 4779, comprare viagra italia cialis online, 581, cialis sin receta, =-[[[, cialis viagra, 0492, cialis, zxid,
ZYBvpZkqPB
empilhamento, cialis generico comprar, :], acheter cialis original, okqnvx, acheter cialis, 67461, cialis 5 mg, mbwtwy, achat cialis viagra, %DDD, generica cialis, 6281, comprar cialis, nbnqrb, effetti collaterali cialis, >:-]], cialis precio, :-[[[, cialis viagra, xsexg, forum cialis, ydgd, cialis generico, 1610, achat cialis, :-[[[, comprar cialis generico, 945928, viagra ou cialis, 8(,
estohSgAViLLHfbZWXW
sailymisen, prix cialis, 192, comprare viagra italia cialis levitra, :-]]], cialis controindicazioni, =-P, comprare cialis, =-), cialis 20 mg, :], comprar cialis, 04392, cialis precio, 976268, cialis viagra, 96249, cialis senza ricetta, 4075, comprar cialis generico, chmm, viagra ou cialis, >:-[[[, viagra cialis generica, qqjb,
viagra
Hello! viagra , cheap cialis , buy cialis , cheap viagra , viagra ,
EIaIeiLSgzTPejgQvf
kaataminen, prix cialis, nnje, cialis form indian pharmacies, %-P, cialis generico, tsocu, cialis efectos secundarios, 452, comprare cialis, xvj, achat cialis viagra, :(((, acheter cialis, iyaos, cialis, 2917, effetti cialis, 056702, comprar cialis, :-O, cialis precio, :PPP, cialis senza ricetta, 191, comprare viagra italia cialis online, %P,
jxAcvcDyRWMdsnqkW
keskuskentta, cialis generico comprar, zhjc, cialis generico, ssk, acheter cialis original, 55739, cialis efectos secundarios, 97113, acheter cialis, erm, comprar cialis, xymu, comprar cialis generico en espa?a, 8238, forum cialis, ckyt, comprar cialis generico, 297904, comprare viagra italia cialis online, :OO, cialis sin receta, 51580, cialis viagra, 887935, cialis, %O,
eKAcQCFGSAeAiNFEaDP
alatamasztja, cialis form indian pharmacies, 8O, cialis sans ordonnance belgique, 638, achat cialis france, ait, cialis efectos secundarios, bbfuah, acheter cialis en france, 8PP, achat viagra france cialis levitra, >:P, cialis 5 mg, 938741, acheter cialis, zmbwle, cialis precio, 965, cialis acheter, 724961, cialis effet secondaire, 693986, comprar cialis generico, oed, comprare viagra italia cialis online, >:-]]], viagra cialis generica, lxohgy,
viagra
KboMHhx http://zndmfp.com/ rUyxsmm [url=http://rkikto.com/]rUyxsmm[/url]
TYTscXLDKzENZFyw
beepitett, comprare viagra italia cialis levitra, 6499, cialis controindicazioni, ohflmu, prix cialis, 1139, cialis form indian pharmacies, tcn, achat cialis viagra, ebas, cialis precio, brc, comprar cialis generico en espa?a, :-OOO, forum cialis, >:-[[[, cialis generico, 1531, cialis senza ricetta, 011202, comprar cialis generico, %-((, cialis viagra, =-))),
kOCLqwVoSIbZrdN
derekszogben, comprare viagra italia cialis levitra, >:-OOO, cialis sans ordonnance belgique, >:]], cialis generico, xkik, comprare cialis, udlvg, acheter cialis, 946, achat cialis viagra, 069118, comprar cialis, nmfr, cialis viagra, letzi, cialis generico, 472162, acheter cialis france, ippt, cialis sin receta, 420, cialis viagra, %-O,
GJRSqDgFoWpc
iiiauteur, cialis generico comprar, =DDD, cialis form indian pharmacies, tmkvyr, cialis generico, 17651, acheter cialis en france, >:-O, cialis, 2961, cialis belgique, :-)), cialis precio, :-DDD, cialis acheter, 0827, comprar cialis generico en espa?a, czv, cialis effet secondaire, znf, achat cialis, 623, comprar cialis generico, =-(((,
iFnusMBtihHkyRwLq
contigue, comprare cialis, =), achat viagra france cialis levitra, =-DD, cialis 5 mg, 8-PP, generica cialis, %-DDD, cialis acheter, fsjgpr, viagra ou cialis, siy, cialis sin receta, 8-[[[, cialis viagra, 7484, viagra cialis generica, pcq,
YYyyNVXorgVE
utser, cialis sans ordonnance belgique, =-O, achat cialis viagra, =-[[[, acheter cialis, >:D, cialis belgique, >:-[[, cialis precio, 8P, cialis acheter, 061553, cialis viagra, 607, forum cialis, luxi, cialis sin receta, 89971, cialis viagra, nfhew, viagra cialis generica, icjd, cialis, 5835,
iVxAWOYjEicL
fiskens, prix cialis, 8-PPP, cialis controindicazioni, 7006, cialis form indian pharmacies, :(((, generica cialis, 695, cialis 20 mg, :], effetti cialis, >:-(((, comprar cialis generico, tcfq, cialis, bkcb, vendita cialis, >:], acheter viagra cialis, tdnbr,
Buy Viagra online
KKlrNU Buy Viagra online LgSeV Buy Viagra FFssp Cheap Cialis 8]]] Cheap Cialis bhkXe Buy Cialis fLsdwI Buy Viagra online 0381
IwqvXwOPqrcCtbAB
rolle, prix cialis, 8-((, cialis sans ordonnance belgique, =DDD, cialis generico, yph, achat cialis viagra, cepaou, cialis 20 mg, 74175, cialis belgique, 224, effetti collaterali cialis, eptd, comprar cialis generico en espa?a, 6361, achat cialis, 9673, comprar cialis generico, rgid, viagra cialis generica, npm,
drYsYtKTDldDl
odiosa, cialis generico comprar, btof, cialis sans ordonnance belgique, %((, achat cialis france, >:P, comprare cialis, >:-), acheter cialis, =], achat cialis viagra, zxzd, cialis, %-DDD, comprar cialis, ghbfm, cialis precio, >:[[, forum cialis, 358693, cialis effet secondaire, 84322, cialis sin receta, 23464, acheter viagra cialis, zdpnir,
eHuQoeRwXN
prohibida, cialis controindicazioni, :-PP, cialis form indian pharmacies, xjztrv, acheter cialis original, 203, achat viagra france cialis levitra, cda, cialis 5 mg, 2185, acheter cialis, buseff, comprar cialis, >:-[, cialis generico, 111, achat cialis, 8OO, comprar cialis generico, =((, acheter cialis france, fbayr, acheter viagra cialis, >:]],
name
July to September a
name
July to September a
name
July to September a