他人のHaskell日記 RSSフィード

Haskell初心者が、リハビリがてらに「ふつける」と「入門Haskell」片手に、試行錯誤するサイト。

2009-01-09

Programming in Haskell Exercises  Programming in Haskell Exercises - 他人のHaskell日記 を含むブックマーク

Chapter 11

  • Redefine the combination function choices using a list comprehension rather than the library functions concat and map.
choices' xs                   =  [perms x|x <- subs xs]
  • Define a recursive function isChoice::Eq a=>[a]->[a]->Bool that decides if one list is chosen from another,without using the combinatorial functions perms and subs,Hint:start by defining a function that removes the first occurrence of a value from a list.
isChoice []     ys = True
isChoice (x:xs) ys = elem x ys && isChoice xs (deleteFirst x ys)

deleteFirst x []     = error $ (show x)++" does not exsist."
deleteFirst x (y:ys) 
  |x == y            = ys
  |otherwise         = y:deleteFirst x ys 
  • What effect would generalizing the function split to also return pairs containing the empty list have on the behavior of solutions?

意味がわからず。solutions以前にexprsの評価において、要素を減らさずに再帰するので、無限ループになると思われる。

  • Using choices,exprs,and eval,verify that there are 33,665,406 possible expressions over the numbers 1,3,7,10,25,50,and that only 4,672,540 of these expressions evaluate successfully.
*Main> length $ [y|xs<-choices [1,3,7,10,25,50],y<-exprs xs]
33665406
*Main> length $ [z|xs<-choices [1,3,7,10,25,50],y<-exprs xs,z<-eval y]
4672540
  • Similarly,verify that the number of expressions that evaluate successfully increases to 10,839,369 if the numeric domain is generalised to arbitrary integers.Hint:modify the definition of valid.
Main> length $ [z|xs<-choices [1,3,7,10,25,50],y<-exprs xs,z<-eval y]
10839369
  • Modify the final program to:
    • allow the use of exponentiation in expressions:
    • produced the nearest solutions if no exact solution is possible
    • order the solutions using a suitable measure of simplicity

import Data.List
import Data.Ord

data Op                       =  Add | Sub | Mul | Div | Exp deriving Enum

apply                         :: Op -> Int -> Int -> Int
apply Add x y                 =  x + y
apply Sub x y                 =  x - y
apply Mul x y                 =  x * y
apply Div x y                 =  x `div` y
apply Exp x y                 =  x ^ y

data Expr                     =  Val Int | App Op Expr Expr

values                        :: Expr -> [Int]
values (Val n)                =  [n]
values (App _ l r)            =  values l ++ values r
 
subs                          :: [a] -> [[a]]
subs []                       =  [[]]
subs (x:xs)                   =  yss ++ map (x:) yss
                                 where yss = subs xs

interleave                    :: a -> [a] -> [[a]]
interleave x []               =  [[x]]
interleave x (y:ys)           =  (x:y:ys) : map (y:) (interleave x ys)
 
perms                         :: [a] -> [[a]]
perms []                      =  [[]]
perms (x:xs)                  =  concat (map (interleave x) (perms xs))

choices                       :: [a] -> [[a]]
choices xs                    =  concat (map perms (subs xs))

split                         :: [a] -> [([a],[a])]
split []                      =  []
split [_]                     =  []
split (x:xs)                  =  ([x],xs) : [(x:ls,rs) | (ls,rs) <- split xs]

valid                        :: Op -> Int -> Int -> Bool
valid Add x y                =  x <= y
valid Sub x y                =  x > y
valid Mul x y                =  x /= 1 && y /= 1 && x <= y
valid Div x y                =  y /= 1 && x `mod` y == 0
valid Exp x y                =  x /= 1 && y /= 1 

type Result                   =  (Expr,Int)
results                      :: [Int] -> [Result]
results []                   =  []
results [n]                  =  [(Val n,n) | n > 0]
results ns                   =  [res | (ls,rs)  <- split ns
                                      , lx      <- results ls
                                      , ry      <- results rs
                                      , res     <- combine lx ry]
 
combine                     :: Result -> Result -> [Result]
combine (l,x) (r,y)         =  [(App o l r, apply o x y) | o <- [(Add)..(Exp)]
                                                         , valid o x y]

solutions                   :: [Int] -> Int -> [Expr]
solutions ns n              =  let evals = evaluations ns n 
                                   correct =  sortBy (comparing values) $ map fst $ filter (\x->snd x==0) evals
                                   nearest = fst $ minimumBy (comparing snd) evals
                               in if null correct then [nearest] else correct
 
evaluations                   :: [Int] -> Int -> [Result]
evaluations ns n              =  [(e,abs(m-n))| ns'   <- choices ns
                                               ,(e,m) <- results ns']
                                      

Chapter 12

=Identify the redexes inthe following expressions,and determine whether each redex is inner most,outer most,neigher,or both.

    • 1+(2*3)
1+(2*3):outermost
(2*3):innermost
    • (1+2)*(2+3)
(1+2)*(2+3):outermost
(1+2):innermost
(2+3):innermost
    • fst (1+2,2+3)
fst (1+2,2+3):outermost
(1+2):innermost
(2+3):innermost
    • (\x->1+x)(2*3)
(\x->1+x)(2*3):outermost
(2*3):innermost
  • Show why outermost evaluation is preferable to innermost for thepurposes of evaluating the expression fst (1+2,2+3).
innermost evaluationの場合

fst(1+2,2+3)
->fst(3,2+3)
->fst(3,5)
->3

outermost evaluationの場合
fst(1+2,2+3)
->1+2
->3

となり簡約のステップが減る。
  • Given the definiton mult = \x->(\y-> x* y),show how the evaluation of mult 3 4 can be broken dwon into four separate steps
mult 3 4
->(\x->(\y-> x* y)) 3 4
->(\y-> 3 * y) 4
->3 * 4
->12
  • Using a list comprehension,define an expression fibs::[Integer] that generates the infinite sequences of Fibonacchi numbers 0,1,1,2,3,5,8,13,21,34... using the following simple procedure:(Hint:make use of library functions zip and tail.Note that numbers in the Fibonacci sequence quickly large,hence the use of the type Integer of arbitrary-precision integers above.
    • the first two numbers are 0 and 1
    • the next is the sum of the previous two;
    • return to the second step.

よくわからず。

題意を満たしてないがとりあえず。

fibs  = 0:1:zipWith(+)fibs (tail fibs)

もしかして

fibs  = 0:1:[f+s|(f,s)<-zip fibs (tail fibs)]

これでいいんだろうか。

  • Using fibs,defina a function fib::Int->Integer that returns the nth Fibonacchi number(counting from zero),and an expression that calculates the first Fibonacchi number greater than one thousand.
fib n = fibs !! n

head $ dropWhile (<=1000) fibs
  • Define appropriate version of the library functions
repeat::a -> [a]
repeat x = xs where xs = x :xs

take::Int->[a]->[a]
take 0     _ = []
take (n+1) [] = []
take (n+1) (x:xs) = x : take n xs

replicate::Int->a->[a]
replicate n = take n . repeat

for the following type of binary trees

data Tree a = Leaf|Node (Tree a) a (Tree a)
repeatTree x = Node (repeatTree x) x (repeatTree x)

takeTree 0  _                 = Leaf
takeTree _  []                = Leaf
takeTree n (Node left x right)= Node (takeTree (n-1) left) x (takeTree (n-1) right)

replicateTree n = takeTree n.repeatTree

Chapter 13

  • Give an example of a function from the standard library in appendix A that is defined using overlapping patterns.
last [x] = x
last (_:xs) = last xs

前者の定義がなければ、シングルトンリストは後者にもマッチしうる。

  • Show that add n (Succ m) = Succ (add n m) by induction on n.
add Zero m     = m
add (Succ n) m = Succ(add n m)
n = Zeroのとき

左辺=add Zero (Succ m)={applying add} Succ m
右辺=Succ(add Zero m) ={applying add} Succ m
よって成り立つ

n = kのとき、つまり
add k (Succ m) = Succ (add k m)が成りたつとすると、
add (Succ k) (Succ m) = Succ (add (Succ k) m)が成りたつことを証明する。

左辺=add (Succ k) (Succ m)={applying add}Succ (add k (Succ m)
右辺=Succ (add (Succ k) m)={applying add}Succ (Succ (add k m)
ここで、add k (Succ m) = Succ (add k m)なので成りたつ。 q.e.d
  • Using this property,together with add n Zero = n,show the addition is communtative,add n m = add m n,by induction on n
仮定:
add Zero m     = m                 -- (1)
add (Succ n) m = Succ(add n m)     -- (2)
add n (Succ m)= Succ(add n m)      -- (3)
add n Zero = n                     -- (4)
結論:
add n m = add m n
証明:
*base case
add Zero m = add m Zeroを証明する。

左辺=add Zero m ={using 1} m
右辺=add m Zero ={using 4} m

*inductive case
add k m = add m k                 -- (ih) Induction Hypothesis
を使って
add (Succ k) m =  add m (Succ k)を証明する.

左辺=add (Succ k) m ={using 2} Succ (add k m) = {using ih} Succ (add m k)
右辺=add m (Succ k) ={using 3} Succ (add m k)

q.e.d.
  • Using the following definition for the library function that decides if all elements of a list satisfy a predicate,complete the proof of the correctness of replicate by showing that it produces a list with identical elements,all(==x)(replicate n x),by induction on n >= .Hint:show that the property is always True.
 all p []     = True
 all p (x:xs) = p x && all p xs
仮定:
 replicate 0      _  = []               -- (1)
 replicate (n+1)  x  = x:replicate n x  -- (2)
 all p []     = True                    -- (3)
 all p (x:xs) = p x && all p xs         -- (4)
結論:
all(==x) (replicate n x) は常にTrue
証明:
*base case
all(==x) (replicate 0 x) ={using 1} all (==x) [] ={using 3} True

*inductive case
「all(==x) (replicate k x) は常にTrue」-- (ih)
を使ってall(==x) (replicate (k+1) x)は常にTrueを証明する。
 
                    all (==x) (replicate (k+1) x)
={using 2}          all (==x) (x:replicate k x) 
={using 4}          (==x) x && all (==x) replicate k x 
=(applying (==x)}   True && all (==x) replicate k x
={appying &&}       all (==x)replicate k x
={using ih}         True

q.e.d

  • Using the definition
[] ++ ys  = ys                                   -- (1)
(x:xs) ++ ys = x :(xs++ys)                       -- (2)

verify the following two properties,by induction on xs:

xs ++ [] = xs
xs ++ (ys ++ zs) = (xs ++ ys) ++ zs
xs ++ [] = xsを証明する
*base case
[] ++ []  = []
*inductive case
(x:xs)++ [] ={using 1} x:(xs++[])={using ih} x:xs
q.e.d.

xs ++ (ys ++ zs) = (xs++ ys) ++ zsを証明する。
*base case
[] ++ (ys ++ zs) ={using 1} ys ++ zs
([]++ ys )++ zs  ={using 1} ys ++ zs
*inductive case
(x:xs)++(ys++zs)    ={using 2} x:(xs++(ys++zs))    = {using ih} x:((xs++ys)++zs)
((x:xs)++ ys) ++ zs ={using 2} (x:(xs++ys)) ++ zs  = {using 2}  x:((xs++ys)++zs)
q.e.d.
  • The equation reverse(reverse xs) = xs can also be probed using a single auxiliary result,result reverse (xs ++[x])=x:reverse xs,which can itself be verified by induction on xs.Why might the proof using three auxiliary results as in this chapter be viewed as preferable?

よくわからないので、とりあえず証明してみる。

仮定
reverse []              = []                --(1)
reverse (x:xs)          = reverse xs++[x]   --(2)
reverse (xs ++[x])      = x:reverse xs      --(3)

証明
*base caseは省略
*inductive case
               reverse (reverse (x:xs))
={using 2}     reverse (reverse xs ++ [x])
={using 3}     x:reverse(reverse (xs))
={using ih}    x:xs

次にreverse (xs ++[x])      = x:reverse xs  を証明する。

仮定
reverse []              = []                --(1)
reverse (x:xs)          = reverse xs++[x]   --(2)
[]     ++ ys            = ys                --(4)
(x:xs) ++ ys            = x:(xs++ys)        --(5)

*base case

reverse ([] ++ [x]) 
={using 4} reverse [x] 
={using 2} reverse [] ++ [x] 
={using 1} [] ++ [x] 
={using 4} [x]

x:reverse [] 
={using 1}      x:[] 
={syntax sugar} [x]

*inductive case
            reverse ((x:xs)++[y])
={using 5}  reverse(x:(xs++[y])
={using 2}  reverse (xs++[y]) ++ [x] 
={using ih} y:reverse xs ++ [x]

                y:reverse(x:xs) 
={using 2}      y:(reverse xs++[x])
={unapplying 5} y:(reverse xs) ++[x]

証明はできた。結局理由はわからない。

  • Using the definitoons
map f []     = []                    -- (1)
map f (x:xs) = f x:map f xs          -- (2)
(f.g) x = f (g x)                    -- (3)

show that map f (map g xs) = map (f.g) xs by induction on xs.

*base case 
           map f (map g []) 
={using 1} map f [] 
={using 1} []

          map (f.g) []                
={using 1 []

*inductive case
             map f(map g (x:xs)) 
={using 2}   map f (g x:map g xs)
={using 2}   f (g x):map f (map g xs) 

             map (f.g) (x:xs) 
={using 2}   (f.g) x:map (f.g) xs 
={using 3}   f (g x):map (f.g) xs 
={using ih}  f (g x):map f (map g xs)
  • Using the definition for ++ given above,together with
take 0      _    =[]
take (n+1) []    =[]
take (n+1) (x:xs)=x:take n xs

drop 0 xs        =xs
drop (n+1) []    =[]
drop (n+1) (_:xs)=drop n xs


show that take n xs ++ drop n xs == xs,by simultaneous induction on the integeer n>= 0 and the list xs. Hint:there are three cases,one for each pattern of arguments in the definition of take and drop

仮定
take 0      _    =[]                  --(1)
take (n+1) []    =[]                  --(2)
take (n+1) (x:xs)=x:take n xs         --(3)
drop 0 xs        =xs                  --(4)
drop (n+1) []    =[]                  --(5)
drop (n+1) (_:xs)=drop n xs           --(6)
[]     ++ ys     = ys                 --(7)
(x:xs) ++ ys     = x:(xs++ys)         --(8)

*base case
n = 0のとき
take 0 xs ++ drop 0 xs ={using 1}[] ++ drop 0 xs={using 4} [] ++ xs ={using 7}xs
xs = []のとき
take n [] ++ drop n [] ={using 2} [] ++drop n []={using 5} [] ++ [] ={using 7} []
*inductive case
take k xs ++ drop k xs == xsのとき      --(ih)
take (k+1) (x:xs)++drop (k+1) (x:xs) 
={using 3} (x:take k xs)++drop (k+1) (x:xs) 
={using 6} (x:take k xs)++drop k xs
={using 8} x:(take k xs ++ drop k xs)
={using ih} x:xs

自然数nと要素数m個のリストについて、
n>mならば (n-m,m-m)=(n-m,0)がbase caseとなり
n<=mならば(n-n,m-n)=(0,m-n)がbase caseとなるので、常に成立する。
  • Given the type declaration "data Tree = Leaf Int|Node Tree Tree" show that the number of leaves in such a tree is always one greater than the numbe rof nodes,by induction on trees.Hint:start by defining functions that count the number of leaves and nodes in a tree.
data Tree = Leaf Int|Node Tree Tree deriving Show

t1 =  Node (Leaf 3) (Node (Leaf 5) (Leaf 6))
t2 =  Leaf 3
t3 = Node (Node (Node (Leaf 4) (Leaf 8)) (Leaf 3)) (Node (Leaf 4) (Leaf 2))

countLeaves::Tree->Int
countLeaves (Leaf _)         = 1
countLeaves (Node left right)= countLeaves left + countLeaves right

countNodes::Tree->Int
countNodes (Leaf _)          = 0
countNodes (Node left right) = 1 + countNodes left + countNodes right

実行結果

*Main> countLeaves t1
3
*Main> countLeaves t2
1
*Main> countLeaves t3
5
*Main> countNodes t1
2
*Main> countNodes t2
0
*Main> countNodes t3
4

証明する

仮定:
countLeaves (Leaf _)         = 1                                        --(1)
countLeaves (Node left right)= countLeaves left + countLeaves right     --(2)
countNodes (Leaf _)          = 0                                        --(3)
countNodes (Node left right) = 1 + countNodes left + countNodes right   --(4)
結論:
countLeaves tree = countNodes tree + 1
証明:
*base case
countLeaves (Leaf leaf) = 1 
countNodes  (Leaf leaf) = 0 
*inductive case
countLeaves left = countNodes left + 1                                   --(ih-1)
countLeaves right= countNodes right+ 1                                   --(ih-1)
を仮定する。

countLeaves (Node left right)
={using 2)countLeaves left + countLeaves right
={using ih-1,ih-2}countNodes left + 1 + countNodes right + 1

countNodes (Node left right)
={using 4}1 + countNodes left + countNodes right                                


  • Given the equation comp' e c = comp e ++ c,show how to construct the recursive definition for comp',by induction on e.
comp (Val n) = [PUSH n]
comp (Add x y) = comp x ++ comp y ++ [ADD]

comp' (Val n) c
=comp (Val n) ++ c
=[PUSH n]++c
=PUSH n:c

comp' (Add x y) c 
=comp (Add x y) ++ c
=comp x ++ comp y ++ [ADD] ++ c
=comp x ++ (comp y ++ ([ADD] ++ c))
=comp' x (comp y ++ ([ADD] ++ c))
=comp' x (comp' y ([ADD] ++ c))
=comp' x (comp' y (ADD:c))

comp' (Val n) c   = PUSH n:c
comp' (Add x y) c = comp' x (comp' y (ADD:c))

PatiencePatience2012/01/08 13:13This is the perfcet way to break down this information.

hyetlrtkhyetlrtk2012/01/09 03:03T76K7x <a href="http://gndgrqeiuiyj.com/">gndgrqeiuiyj</a>

hhpdahdhhpdahd2012/01/09 20:46UlfWue , [url=http://vyqauabetkei.com/]vyqauabetkei[/url], [link=http://irtuwgunyrnf.com/]irtuwgunyrnf[/link], http://fuejlwudquxd.com/

SailipjepSailipjep2017/05/04 01:04http://undeclaiming.xyz <a href="http://undeclaiming.xyz">norsk kasino</a> http://undeclaiming.xyz - norsk kasino

ohidarozehuohidarozehu2017/11/28 16:51http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

ahetufuahetufu2017/11/28 17:01http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

pinoteduvuypinoteduvuy2017/11/28 17:01http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

inirisukinirisuk2017/11/28 17:05http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

iacokleetesoziacokleetesoz2017/11/28 17:14http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

aadalameaadalame2017/11/28 17:15http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

oimvujovnioimvujovni2017/11/28 19:59http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

idunabesoququidunabesoququ2017/11/28 20:14http://price-of-levitra-20mg.mobi/ - price-of-levitra-20mg.mobi.ankor <a href="http://buyventolin-online.mobi/">buyventolin-online.mobi.ankor</a> http://buylevitrageneric.mobi/

DanielMUSDanielMUS2018/06/18 08:02kamagra soft chewable tablets 100 mg
<a href="http://kamagraonl.com/">buy kamagra oral jelly</a>
kamagra oral jelly how to use
<a href="http://kamagraonl.com/">buy kamagra</a>
kamagra 100mg chewable tablets

JaredExeseJaredExese2018/06/19 14:00effects of black viagra on blood pressure
<a href="http://amsboatyard.com/">buy generic viagra</a>
generic pill for viagra
<a href="http://amsboatyard.com/">buy viagra</a>
levitra vs viagra price

JuniordruckJuniordruck2018/06/20 23:17buy viagra at walmart
<a href="http://viagrapipls.com/">buy generic viagra</a>
viagra generic walmart how much
<a href="http://viagrapipls.com/">buy generic viagra</a>
generic viagra teva cost

MichaelDefMichaelDef2018/06/22 05:45viagra and cialis dosage and cost comparison between
<a href="http://justinpro.com/">buy cialis online</a>
cialis coupons 2016
<a href="http://justinpro.com/">buy cialis</a>
viagra vs cialis vs levitra comparison

JamessnidoJamessnido2018/06/24 21:13kamagra 100 oral jelly review
<a href="http://kamagradyn.com/">buy kamagra 100mg</a>
kamagra 100 chewable polo
<a href="http://kamagradyn.com/">buy kamagra 100mg</a>
kamagra 100mg chewable

AllanNoubsAllanNoubs2018/06/27 03:39cialis coupons 2017
<a href="http://cialispaxl.com/">buy generic cialis</a>
cialis professional 40mg
<a href="http://cialispaxl.com/">generic cialis</a>
cialis commercial actor

AntonImaltAntonImalt2018/07/01 00:25cialis doses 10 mg
<a href="http://cialisgenericsa.com/">buy cialis</a>
cialis vs viagra
<a href="http://cialisgenericsa.com/">generic cialis</a>
buy cialis professional 20 mg

FloyddaHFloyddaH2018/07/01 10:09kamagra 100 chewable tablets
<a href="http://kamagradyn.com/">kamagra 100mg</a>
india kamagra 100mg chewable tablets
<a href="http://kamagraonl.com/">kamagra oral jelly</a>
kamagra price

DavidLidayDavidLiday2018/07/13 22:27kamagra 100mg oral jelly suppliers
<a href="https://www.kamagrajellyk.com/">kamagra oral jelly</a>
kamagra oral jelly 100mg
<a href="https://www.kamagrajellyk.com/">kamagra oral jelly</a>
how to use kamagra 100mg tablets

RobertvoilaRobertvoila2018/07/15 12:07kamagra 100mg oral jelly use
<a href="https://www.kamagrapos.com/">buy kamagra oral jelly</a>
kamagra tablets 100mg reviews
<a href="https://www.kamagrapos.com/">kamagra 100mg</a>
kamagra oral jelly viagra

CharlesCoinKCharlesCoinK2018/07/16 01:08viagra overdose side effects
<a href="http://viagrapipls.com/">generic viagra</a>
viagra female commercial
<a href="http://viagrapipls.com/">viagra generic</a>
buying viagra online in usa
http://viagrapipls.com/
nombre generico del viagra en chile

HaroldElaloHaroldElalo2018/07/17 02:17twoja kamagra pl forum
<a href="https://www.kamagradax.com/">kamagra 100mg oral jelly</a>
kamagra 100 tablets usage
<a href="https://www.kamagradax.com/">kamagra 100mg</a>
kamagra oral jelly come si usa

MichaelCaxMichaelCax2018/07/30 23:16kamagra oral jelly novi sad
<a href="https://www.kamagrajellyk.com/">kamagra jelly</a>
kamagra jelly usa
<a href="https://www.kamagrajellyk.com/">kamagra jelly</a>
kamagra oral jelly novi sad

StevenAftesStevenAftes2019/01/04 16:03viagra commercial actress name 2015
<a href="http://viagrapipls.com/">generic viagra</a>
generic viagra 100mg price in india
<a href="http://viagrapipls.com/">generic viagra</a>
pfizer discount coupons for viagra

CharlesgawCharlesgaw2019/01/04 17:05fildena 50mg
<a href="http://fildenaonl.com/">buy fildena</a>
fildena 50 india
<a href="http://fildenaonl.com/">fildena 100mg</a>
fildena

JamesDexJamesDex2019/01/05 08:41sildenafil citrate 20 mg tablet cost
<a href="http://sildenafilcitratepw.com/">sildenafil</a>
sildenafil citrate uses in females
<a href="http://sildenafilcitratepw.com/">buy sildenafil citrate</a>
generic sildenafil citrate 100mg reviews

EarnestsmortEarnestsmort2019/01/22 06:27sildenafil citrate supplement
<a href="http://sildenafilcitratepw.com/">sildenafil</a>
sildenafil citrate maximum daily dose
<a href="http://sildenafilcitratepw.com/">buy sildenafil citrate</a>
sildenafil citrate used for

WilliamNugWilliamNug2019/01/28 00:36fildena india pharmacies
<a href="http://fildenaonl.com/">fildena 100mg</a>
fildena 100 online
<a href="http://fildenaonl.com/">fildena 100mg</a>
how does fildena work

GerardpaiffGerardpaiff2019/01/30 03:32cialis without prescription
cialis without prescription mayavanrosendaal.com cialis without a doctor's prescription buy cialis without prescription

JospehOwexyJospehOwexy2019/01/30 10:39cialis getting ready to market
cialis ohne rezept in deutschland
non prescription cialis generic
will marijuana affect cialis

buy cialis from australia
cialis versand aus deutschland
fast shipping cialis daily
ordering cialis 5mg prescription
https://stowe365.com/#Buy-Cialis

JospehOwexyJospehOwexy2019/01/30 20:11farmacia online para cialis generico
cialis prescription new york
buy 5mg cialis canadian pharmacy
cialis potenzmittel

cialis online bestellen schweiz
cost of cialis at shoppers drug mart
generic cialis for sale online
bestellen_cialis_generika
https://stowe365.com

JospehOwexyJospehOwexy2019/01/31 06:06recensioni acquisto cialis online
what is the price of cialis 20mg
expiration date on cialis pill
cialis generico visa electron

free cialis no prescription
cialis cyprus
trusted cialis online
cialis deutsch
https://stowe365.com

JospehOwexyJospehOwexy2019/01/31 16:48new cialis pharmacy
does cialis daily work
best price on brand name cialis
cialis 4cpr riv 10mg costo

donde comprar cialis seguro
get cialis fast
off brand cialis
what does cialis cost in canada
https://stowe365.com

JospehOwexyJospehOwexy2019/02/01 04:58comprare cialis originale italia
buying cialis craigslist
mycanadyanpharmacycialis
cheapest place to get cialis

best place to buy cialis in canada
buy cialis australia paypal
cheapest cialis online australia
20 mg cialis reviews
https://stowe365.com

JospehOwexyJospehOwexy2019/02/02 00:10gute online apotheke cialis
exp clinic buy cialis europe
best cialis prices on line
cialis fra england

cialis shop com
cialisoriginalonline
cialis wholesale prices
buy cialis 200mg
https://stowe365.com/#Buy-Cialis-20-mg

JospehOwexyJospehOwexy2019/02/02 02:43quick ship cialis
i want to buy cialis
comprar cialis online contrareembolso
cialis profesional

cialis low dose
brand cialis non prescription needed
best discount cialis
cialis super active plus reviews
https://stowe365.com/#Buy-Cialis-20-mg

WilliamButWilliamBut2019/02/02 09:50which pharmacy sells cheapest cialis
brand name cialis from japan
<a href=https://kellyannehulme.com>Cialis 20 mg cheap price</a>
part d covering cialis for prostrate
comprar cialis profesional
https://kellyannehulme.com
should i try cialis
suppliersof cialis
<a href=https://greatwinesgrandhouses.com>buy cialis</a>
medco pharmacy cialis
comprar cialis espana
https://kellyannehulme.com

WilliamButWilliamBut2019/02/02 11:41cialis store erfahrungen
brand cialis overnight
<a href=https://kellyannehulme.com>Cialis 20 mg cheap price</a>
30 day cialis
amazon cialis
https://greatwinesgrandhouses.com
wo kann ich cialis rezeptfrei kaufen
buy cialis online reviews
<a href=https://greatwinesgrandhouses.com>cialis buy online</a>
cialis fast delivery in 3 days
cheap cialis with free shipping
https://kellyannehulme.com

WilliamButWilliamBut2019/02/02 11:41cialis online rezept
cialis rezeptfrei paypal
<a href=https://kellyannehulme.com>20 mg cialis buy</a>
cialis osterreich
cialis generika tadalafil
https://greatwinesgrandhouses.com
cialis and 30 mg
cialis generico espana
<a href=https://greatwinesgrandhouses.com>buy Cialis 20 mg</a>
get cialis on line
buy genuine cialis online
https://greatwinesgrandhouses.com

DavidhagDavidhag2019/02/03 03:27pildora cialis
average retail price of cialis
<a href="http://kaivanrosendaal.com">cialis purchasing</a>
prescription pour cialis
cialis daily cost walmart
<a href=http://kaivanrosendaal.com>cialis purchasing</a>
costo del cialis 20 mg farmacia
cialis 5mg 30 day supply
http://kaivanrosendaal.com/#cialis-pills

DavidhagDavidhag2019/02/03 13:23monthly cost cialis daily use
cialis 60 mg angleterre
<a href="http://kaivanrosendaal.com">cialis canada</a>
comprar cialis online usa
harm of cialis two pills in 24 hours
<a href=http://kaivanrosendaal.com>free cialis</a>
price for cialis at walgreens
cheap cialis pills
http://kaivanrosendaal.com/#cialis-20-mg-best-price

JerryerelpJerryerelp2019/02/04 02:04side effects of long term use of cialis
<a href="http://cialispaxl.com/">cialis generic</a>
cialis side effects back pain
<a href="http://cialispaxl.com/">buy cialis generic</a>
cost of cialis 5 mg at walmart

DavidhagDavidhag2019/02/04 03:07cialis price in pakistan
australiacialis
<a href="http://kaivanrosendaal.com/">cialis 20 mg</a>
cialis daily cost new zealand
cialis nedeland
<a href=http://kaivanrosendaal.com/>cialis official site</a>
canadian cialis reviews
cialis australia
http://kaivanrosendaal.com/#Buy-Cheap-Cialis

DavidhagDavidhag2019/02/04 11:22cialis and bph reviews
comprar cialis 5mg online
<a href="http://kaivanrosendaal.com/">Buy Cheap Cialis</a>
best buy for cialis
what happens if you take two cialis
<a href=http://kaivanrosendaal.com>Buy Cheap Cialis</a>
cialis online norway
comprare cialis online yahoo
http://kaivanrosendaal.com/#cialis-pills

WaltertedWalterted2019/02/04 16:41cialis dosage options forum
<a href="http://cialisonlinq.com/">buy cialis generic</a>
why separate bathtubs in cialis commercials
<a href="http://cialisonlinq.com/">buy cialis generic</a>
brand cialis meaning in hindi

JamestamJamestam2019/02/04 21:00price comparison between viagra and cialis
<a href="http://cialisdxt.com/">buy cialis</a>
cialis dapoxetine review
<a href="http://cialisdxt.com/">buy cialis generic</a>
vardenafil vs. viagra vs. cialis

DavidhagDavidhag2019/02/04 23:02cialis promise program
buy cialis lloyds
<a href="http://kaivanrosendaal.com/">how does cialis work</a>
when should i take cialis
best prices on cialis in toronto
<a href=http://kaivanrosendaal.com/>tadalafil</a>
nyc cialis no prescription
can't get hard with cialis
http://kaivanrosendaal.com/#cialis-savings-card

DavidhagDavidhag2019/02/05 11:21when does cialis kick in
discount cialis with trackable mail
<a href="http://kaivanrosendaal.com/">cialis online</a>
generic cialis e20
como comprar cialis
<a href=http://kaivanrosendaal.com>cialis coupons</a>
buy cialis online in spain
generic cialis cheapest price
http://kaivanrosendaal.com/#cialis-for-daily-use

ArnoldmefArnoldmef2019/02/05 17:53cialis black for sale
kup cialis online
<a href="http://cialisfurr.com">Cheap Cialis</a>
consiglio acquisto cialis online
cialis generic brand sold in australia
<a href="http://xcialisxx.com">Cheap Cialis</a>
cialistpassword index
cheapest cialis in sydney
<a href="http://cialisfurr.com">Buy Cheap Cialis Online</a>

ArnoldmefArnoldmef2019/02/05 21:18cialis 5mg cost per pill
cialis online utah
<a href="http://cialisfurr.com">Buy Cialis Online</a>
walmart pharmacy prices for cialis
cialis black 800mg pills
<a href="http://cialisfurr.com">Buy Cheap Cialis Online</a>
buy cialis soft tabs
buy cialis online fed ex shiping
<a href="http://cialistlm.com">Buy Cheap Cialis Online</a>

ArnoldmefArnoldmef2019/02/05 21:18insurance wont cover cialis
cialis fast overnight
<a href="http://xcialisxx.com">Cheap Cialis buy</a>
cheap cialis ireland
cialis without subscription
<a href="http://xcialisxx.com">Buy Cheap Cialis</a>
buy cialis from australia
brand cialis lilly online
<a href="http://cialistlm.com">Buy Cheap Cialis Online</a>

DavidhagDavidhag2019/02/05 21:52cialis canada free trial
order cialis free overnight delivery
<a href="http://kaivanrosendaal.com/">canadian cialis</a>
cheap cialis europe
microsoft office specialist excel certification exam
<a href=http://kaivanrosendaal.com>cialis purchasing</a>
cialis vanzari online
order cialis from canada
http://kaivanrosendaal.com/#cialis-online

GregoryIdoneGregoryIdone2019/02/06 01:00cialis coupon 2017
<a href="http://cialispaxl.com/">buy cialis online</a>
generic cialis prices with prescription
<a href="http://cialispaxl.com/">cialis generic</a>
when is generic cialis coming out

RichardhatRichardhat2019/02/06 14:21cialis super active tadalafil 20mg
<a href="http://cialisonlinq.com/">buy cialis</a>
cialis and viagra dosage
<a href="http://cialisonlinq.com/">cialis generic</a>
brand cialis vs generic

TannerrotTannerrot2019/02/06 18:37viagra cialis levitra reviews
<a href="http://cialisdxt.com/">cialis generic</a>
price of cialis vs viagra
<a href="http://cialisdxt.com/">cialis generic</a>
generic cialis viagra

BrandonvofBrandonvof2019/02/08 06:38best prices for generic cialis
<a href="http://cialispaxl.com/">buy cialis</a>
cialis 5 mg generico preço
<a href="http://cialispaxl.com/">cialis generic</a>
cialis daily dose side effects

BasilGemBasilGem2019/02/08 15:17buy generic viagra and cialis online edrugstore.md
<a href="http://cialisdxt.com/">buy generic cialis online</a>
cost of stendra vs viagra cialis levitra staxyn
<a href="http://cialisdxt.com/">generic cialis</a>
backache side effects of cialis 5mg

RobertoBeathRobertoBeath2019/02/10 07:23cialis generico mexico farmacias similares
<a href="http://cialisonlinq.com/">buy cialis generic</a>
super active cialis reviews
<a href="http://cialisonlinq.com/">buy generic cialis</a>
cialis viagra comparison chart

JamessworiJamesswori2019/02/10 11:32brand cialis vs cialis
<a href="http://cialisdxt.com/">buy generic cialis online</a>
does generic cialis really exist
<a href="http://cialisdxt.com/">buy cialis generic</a>
cialis generico precio en chile

PatrickMakPatrickMak2019/02/10 15:11coupons for cialis 5mg once a day
<a href="http://cialispaxl.com/">buy cialis online</a>
why separate bathtubs in cialis commercials
<a href="http://cialispaxl.com/">buy cialis online</a>
uses for cialis 10mg

JaysonShutsJaysonShuts2019/02/12 02:42is generic cialis real
<a href="http://cialisonlinq.com/">buy cialis</a>
does generic cialis really work
<a href="http://cialisonlinq.com/">buy cialis generic</a>
best prices for generic cialis

DouglasmoumsDouglasmoums2019/02/12 06:55100mg generic cialis lowest price
<a href="http://cialisdxt.com/">buy cialis online</a>
cialis 5mg price in uae
<a href="http://cialisdxt.com/">buy generic cialis online</a>
comparison viagra and cialis

MichaelFrivaMichaelFriva2019/02/13 00:54cialis cost per pill 20 mg
<a href="http://cialispaxl.com/">buy cialis generic</a>
viagra vs cialis price comparison
<a href="http://cialispaxl.com/">buy cialis generic</a>
cialis 5 mg dosage

JosephacurlJosephacurl2019/02/13 21:56cialis prices compare
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
buy cialis or viagra
<a href="http://cialisonlinq.com/">cialis generic</a>
merle generic viagra cialis

ScottWeildScottWeild2019/02/14 01:54cialis side effects itching
<a href="http://cialisdxt.com/">buy generic cialis</a>
generic cialis or viagra
<a href="http://cialisdxt.com/">cialis generic</a>
generic cialis vs viagra

ThomasnemThomasnem2019/02/15 22:39cialis tv commercial actresses
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
generic cialis 5mg for daily use
<a href="http://cialisonlinq.com/">buy cialis online</a>
cialis dosage 20 mg

DerekSoxDerekSox2019/02/16 02:50best price viagra cialis levitra
<a href="http://cialisdxt.com/">buy cialis generic</a>
cialis vs levitra reviews
<a href="http://cialisdxt.com/">cialis generic</a>
generic cialis with dapoxetine

BrianPenBrianPen2019/02/17 22:21cialis 5 mg. generico en mexico
<a href="http://cialisdxt.com/">buy cialis generic</a>
levitra viagra cialis cost comparison
<a href="http://cialisdxt.com/">generic cialis</a>
cialis dosage chart

LloydevacHLloydevacH2019/02/18 02:47cialis daily use generic
<a href="http://cialispaxl.com/">generic cialis online</a>
cialis 20mg cost
<a href="http://cialispaxl.com/">cialis generic</a>
cialis generic available date

DonaldvopDonaldvop2019/02/19 11:10247 overnight pharmacy buy cialis usa
<a href="http://cialisonlinq.com/">buy cialis generic</a>
cialis ou viagra ou levitra forum
<a href="http://cialisonlinq.com/">buy generic cialis</a>
walmart prescription prices cialis

TrumanfliniTrumanflini2019/02/19 14:47cialis super active 40 mg
<a href="http://cialisdxt.com/">cialis</a>
cialis vs viagra reddit
<a href="http://cialisdxt.com/">buy generic cialis</a>
cialis 20mg tablets prices

JosephrawJosephraw2019/02/21 00:4840 mg cialis dosage strengths
<a href="http://cialisonlinq.com/">buy cialis</a>
price cialis 5mg australia
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
is there a generic cialis on the market

RobertsagesRobertsages2019/02/21 04:23cheap cialis uk suppliers
<a href="http://cialisdxt.com/">buy cialis online</a>
cialis generico 5 mg preço
<a href="http://cialisdxt.com/">buy cialis</a>
cialis pharmacy usa

AnthonyeffenAnthonyeffen2019/02/22 15:46cialis dosage 60 mg
<a href="http://cialisonlinq.com/">buy cialis online</a>
generic cialis prices with prescription
<a href="http://cialisonlinq.com/">buy cialis</a>
levitra vs cialis vs viagra cost

ShawnHoxShawnHox2019/02/24 06:19cialis generico italia farmacia
<a href="http://cialisonlinq.com/">generic cialis</a>
levitra vs viagra vs cialis alcohol
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
cialis vs levitra vs viagra which one is better

RobertNutRobertNut2019/02/24 09:49buy generic cialis viagra online
<a href="http://cialisdxt.com/">generic cialis</a>
cialis 20 mg tablets information
<a href="http://cialisdxt.com/">buy generic cialis online</a>
cialis and viagra dosage differences

DonaldreichDonaldreich2019/02/25 19:22viagra and cialis dosage
<a href="http://cialisonlinq.com/">buy generic cialis online</a>
cost of viagra cialis and levitra
<a href="http://cialisonlinq.com/">buy cialis</a>
generic cialis shipped fedex

SteveGokSteveGok2019/02/25 23:09cialis coupon 2016 200.00
<a href="http://cialisdxt.com/">buy generic cialis</a>
cialis tab 20 mg
<a href="http://cialisdxt.com/">generic cialis</a>
acquistare cialis generico in italia

JasonreliaJasonrelia2019/03/01 06:21buy brand cialisbuy cheap cialis 20mg Buy Cialis <a href="http://xcialis20mg.com">Buy Cialis 40mg</a>

JasonreliaJasonrelia2019/03/01 23:39boots chemist cialis costcialis coupon free Buy Cialis 60mg <a href="http://xcialis20mg.com">http://xcialis20mg.com</a>

JasonreliaJasonrelia2019/03/02 08:02generic cialis usawho makes cialis Cialis 20mg <a href="http://xcialis20mg.com">http://xcialis20mg.com</a>

JasonreliaJasonrelia2019/03/02 22:32cialis-nabp-certified-online-pharmacybest online store for cialis http://xcialis20mg.com <a href="http://xcialis20mg.com">http://xcialis20mg.com</a>

JasonreliaJasonrelia2019/03/03 03:59buy cialis in the united statesget a prescription to buy brand cialis cheap cialis <a href="http://xcialis20mg.com">xcialis20mg.com</a>

AllenTetAllenTet2019/03/20 17:37viagra cialis levitra online canada
<a href="http://cialisec.com/">cialis online</a>
cialis generic availability
<a href="http://cialisec.com/">buy cialis online</a>
cialis qual dosagem tomar

DavidMycleDavidMycle2019/03/20 18:56is generic cialis available in the us
<a href="http://cialisdxt.com/">cialis online</a>
levitra or cialis or viagra better
<a href="http://cialisdxt.com/">buy cialis online</a>
tesco pharmacy cialis price

MalcolmdrallMalcolmdrall2019/03/21 05:06cialis tadalafil 20mg uk
<a href="http://cialisfee.com/">cialis online</a>
walgreen cialis price without insurance
<a href="http://cialisfee.com/">generic cialis</a>
difference between viagra and cialis dosage

AllenTetAllenTet2019/03/22 13:11cialis generic at costco
<a href="http://cialisec.com/">cialis generic</a>
best deals on generic cialis
<a href="http://cialisec.com/">generic cialis</a>
cialis side effects vs viagra

DavidMycleDavidMycle2019/03/22 14:20cialis 5 mg generic best price india
<a href="http://cialisdxt.com/">generic cialis</a>
brand cialis 20mg best price
<a href="http://cialisdxt.com/">cialis generic</a>
cialis 10mg dosage instructions

MalcolmdrallMalcolmdrall2019/03/23 00:46buy cialis in the united states
<a href="http://cialisfee.com/">generic cialis</a>
cialis 5 mg compare prices
<a href="http://cialisfee.com/">buy cialis online</a>
generic cialis in thailand

AllenTetAllenTet2019/03/24 11:12generic cialis for daily use prices
<a href="http://cialisec.com/">cialis generic</a>
walmart prices for cialis
<a href="http://cialisec.com/">cialis online</a>
cialis generico melhor preço

DavidMycleDavidMycle2019/03/24 16:01cialis extra dosage
<a href="http://cialisdxt.com/">buy cialis online</a>
sildenafil 20 mg vs cialis 5 mg
<a href="http://cialisdxt.com/">cialis generic</a>
walmart prescription prices cialis

MalcolmdrallMalcolmdrall2019/03/24 22:44cialis trial coupon 2017
<a href="http://cialisfee.com/">buy cialis online</a>
levitra vs cialis vs viagra reviews
<a href="http://cialisfee.com/">cialis online</a>
cialis viagra levitra online