Complex Numbers II: A Guide to Contour Integration (Part 3 of 3)

by greenturtle3141, May 19, 2023, 5:16 AM

Lesson 8: Finally, we can have some fun!

We have been stuck in complex land for 7 (8?) lessons. It's time to wake up and get back to reality.

Example 1

If you've taken calculus, you probably know how to evaluate the integral
$$\int_{-\infty}^\infty \frac{1}{1+x^2}\,dx$$by using the fact that $\arctan(x)$ is an antiderivative for the integrand. But what if we didn't know that? It turns out that we can evaluate this integral using the power of complex numbers. Specifically, we will use contour integration. The techniques are difficult to explain without example, so we will walk through how to evaluate this integral so that you learn these techniques along the way.

The first issue we face is that the limits $-\infty$ and $+\infty$ are unwieldy for applying any techniques we've learned. Here is how we fix that.

Key Idea 1: Indefinite integrals are really just limits of definite integrals.

Instead of examining $\int_{-\infty}^\infty \frac{1}{1+x^2}\,dx$, we can study $\int_{-R}^R \frac{1}{1+x^2}\,dx$ where $R > 0$ is a large number. We'll play with this definite integral, and then eventually we will send $R \to +\infty$. Sound like a plan?

Great, but how do complex numbers possibly relate to evaluating $\int_{-R}^R \frac{1}{1+x^2}\,dx$?

Key Idea 2: Integrals over the real line are just integrals over the real-axis path!

Aha! We can reinterpret this integral as a path integral $\int_{\gamma_1} \frac{1}{1+z^2}\,dz$ in the complex plane, where $\gamma_1$ is the straight line segment between $-R$ and $R$.
[asy]
size(7cm);
draw((-2,0)--(2,0),p=linewidth(1.5),arrow=Arrows(5));
draw((0,-2)--(0,2),p=linewidth(1.5),arrow=Arrows(5));
draw((-1.5,0)--(1.5,0),p=linewidth(1.75)+red,arrow=MidArrow(5));
dot("$-R$",(-1.5,0),S,p=red+linewidth(1.75));
dot("$R$",(1.5,0),S,p=red+linewidth(1.75));
label("$\gamma_1$",(.5,-.5),p=red);
[/asy]

Why is this ok?

Nice! Now we're kinda in complex land... though, we haven't really used complex numbers yet, we kinda just reframed the problem. What can we use now?

Key Idea 3: Close the loop so that we can apply Cauchy's Theorem and/or the Residue Theorem!

Ah! The path we have right now is just a segment. It's not a loop yet, so we can't apply the powerful theorems we've been learning. So we need to close the loop by drawing a path from $R$ back to $-R$.

What kind of path should we draw? This step is usually the tricky part. It takes some experience and practice to choose the correct contour. Here, it turns out that it doesn't really matter too much, as long as it's reasonable. So we'll chooes the most natural path: A semicircle!
[asy]
size(7cm);
draw((-2,0)--(2,0),p=linewidth(1.5),arrow=Arrows(5));
draw((0,-2)--(0,2),p=linewidth(1.5),arrow=Arrows(5));
draw((-1.5,0)--(1.5,0),p=linewidth(1.75)+red,arrow=MidArrow(5));
draw(arc((0,0),1.5,0,180,CCW),p=linewidth(1.75)+purple,arrow=MidArrow(5));
dot("$-R$",(-1.5,0),S,p=red+linewidth(1.75));
dot("$R$",(1.5,0),S,p=red+linewidth(1.75));
label("$\gamma_1$",(.5,-.5),p=red);
label("$\gamma_2$",(-1,1.5),p=purple);
[/asy]

On one hand, this makes the path a loop, and now we can apply the Residue Theorem! Yay! On the other hand, this means that there is another part of the path that we need to integrate over. Wouldn't that mess up our computation? What do semicircles have to do with anything? This should be concerning.

It turns out that the semicircle part of the loop doesn't matter in the long run: It will "vanish" when we send $R \to +\infty$, which is why this is ok. I'll explain why it vanishes soon, but roughly speaking it vanishes because $\frac{1}{1+z^2}$ gets really small when $z$ is very far away from $0$, and integrating a smaller and smaller expression gets you a smaller and smaller result.

Enough dilly-dallying! Let's start by writing an expression for the contour integral over this whole loop, which we shall call $\gamma$.

The first part is the bottom part, $\gamma_1$. Well, we already know that $\int_{\gamma_1} \frac{1}{1+z^2}\,dz$ is just equal to $\int_{-R}^R \frac{1}{1+x^2}\,dx$, so that's easy. The second part is the semicircular arc, $\gamma_2$. This is paramterized by $Re^{it}$ for $t \in (0,\pi)$. Thus
$$\int_{\gamma_2} \frac{1}{1+z^2}\,dz = \int_0^\pi \frac{1}{1+(Re^{it})^2} \cdot \left(\frac{d}{dt} Re^{it}\right)\,dt = \int_0^\pi \frac{iRe^{it}}{1+R^2e^{2it}}\,dt.$$So the integral over the whole loop $\gamma$ can be written as
$$\int_\gamma \frac{1}{1+z^2}\,dz = \int_{-R}^R \frac{1}{1+x^2}\,dx + \int_0^\pi \frac{iRe^{it}}{1+R^2e^{2it}}\,dt.$$
Now we apply the Residue Theorem to set this equal to a nice number. To apply the Residue Theorem, we need to study the integrand $\frac{1}{1+z^2}$. Well, it's certainly holomorphic (meromorphic), but it's not defined everywhere. It explodes (it has poles) at $z = i$ and $z = -i$. Let's mark that on our diagram.
[asy]
void pole(pair z){
    draw(z+(.1,.1)--z+(-.1,-.1),p=linewidth(1.5));
    draw(z+(.1,-.1)--z+(-.1,.1),p=linewidth(1.5));
}
size(7cm);
draw((-2,0)--(2,0),p=linewidth(1.5),arrow=Arrows(5));
draw((0,-2)--(0,2),p=linewidth(1.5),arrow=Arrows(5));
draw((-1.5,0)--(1.5,0),p=linewidth(1.75)+red,arrow=MidArrow(5));
draw(arc((0,0),1.5,0,180,CCW),p=linewidth(1.75)+purple,arrow=MidArrow(5));
dot("$-R$",(-1.5,0),S,p=red+linewidth(1.75));
dot("$R$",(1.5,0),S,p=red+linewidth(1.75));
label("$\gamma_1$",(.5,-.5),p=red);
label("$\gamma_2$",(-1,1.5),p=purple);
pole((0,1));
pole((0,-1));
[/asy]

We only care about when $R$ is big... and when $R$ is big, the pole $z=i$ is always contained inside the loop! (And $z=-i$ is always outside, so we don't care about it.) Thus, the contour integral around the loop will only pick up the residue at $z=i$. Let's calculate that residue. We can write
$$\frac{1}{1+z^2} = \frac{1}{(z+i)(z-i)}.$$Then we hope to get rid of the singularity by multiplying by a single factor of $(z-i)$. This results in $\frac{1}{z+i}$, and indeed we have removed the singularity, so the residue is given by evaluating this new expression at $z = i$, which is $\frac{1}{2i}$. By the Residue Theorem, we now have that
$$\int_{-R}^R \frac{1}{1+x^2}\,dx + \int_0^\pi \frac{iRe^{it}}{1+R^2e^{2it}}\,dt = \int_\gamma \frac{1}{1+z^2}\,dz = 2\pi i \operatorname*{Res}_{z=i} \frac{1}{1+z^2}$$$$= 2\pi i \cdot \frac{1}{2i} = \pi.$$You might recognize that $\pi$ should be the answer to the integral! We're getting closer now. All we have to do now is send $R \to +\infty$. This gives us that
$$\int_{-\infty}^\infty + \lim_{R \to +\infty} \int_0^\pi \frac{iRe^{it}}{1+R^2e^{2it}}\,dt = \pi.$$
If you only care about getting the answer (because you're like in an integration bee or something), you can stop now and say "clearly the limit $\lim_{R \to +\infty} \int_0^\pi \frac{iRe^{it}}{1+R^2e^{2it}}\,dt$ is $0$" by waving your hands. That's ok. But if you are curious about why this vanishes, I'll give you two options.

Option 1: Intuitive Reasoning

Option 2: Rigorous Reasoning

Whatever you do, we finally have ended up with
$$\boxed{\int_{-\infty}^\infty + \lim_{R \to +\infty} \int_0^\pi \frac{iRe^{it}}{1+R^2e^{2it}}\,dt = \pi},$$and so we are done!

The next example shows that sometimes, the given integrand is not necessarily the thing we would like to integrate.

Example 2

Let us evaluate the integral
$$\int_{-\infty}^\infty \frac{\cos x}{1+x^2}\,dx.$$We will use the same exact approach, but the cosine here is annoying to deal with. One way to deal with it is to use the fact that $\cos z = \frac{e^{iz}+e^{-iz}}{2}$, because $e^{iz}$ is easier to deal with. However, a much easier approach is to realize that $\cos x$ is just the real part of $e^{ix}$!

Key Idea 4: If there is a sine or cosine, consider replacing it with $e^{ix}$. Under suitable conditions, the real/imaginary part of the new integral will be exactly the original integral.

So we can instead think about the integral
$$\int_{-\infty}^\infty \frac{e^{ix}}{1+x^2}\,dx.$$Once we evaluate this, we take the real part of the answer, and this will be the answer to the integral $\int_{-\infty}^\infty \frac{\cos x}{1+x^2}\,dx$.

Let's run the process again! We use the same contour as before. I'm going to go a bit faster now and explain the steps a little less than before.
[asy]
void pole(pair z){
    draw(z+(.1,.1)--z+(-.1,-.1),p=linewidth(1.5));
    draw(z+(.1,-.1)--z+(-.1,.1),p=linewidth(1.5));
}
size(7cm);
draw((-2,0)--(2,0),p=linewidth(1.5),arrow=Arrows(5));
draw((0,-2)--(0,2),p=linewidth(1.5),arrow=Arrows(5));
draw((-1.5,0)--(1.5,0),p=linewidth(1.75)+red,arrow=MidArrow(5));
draw(arc((0,0),1.5,0,180,CCW),p=linewidth(1.75)+purple,arrow=MidArrow(5));
dot("$-R$",(-1.5,0),S,p=red+linewidth(1.75));
dot("$R$",(1.5,0),S,p=red+linewidth(1.75));
label("$\gamma_1$",(.5,-.5),p=red);
label("$\gamma_2$",(-1,1.5),p=purple);
pole((0,1));
pole((0,-1));
[/asy]

The integral over the bottom is just $\int_{-R}^R \frac{e^{ix}}{1+x^2}\,dx$, which will be what we want when we send $R \to +\infty$.

The integral over the semicircular arc will be
$$\int_{\gamma_2} \frac{e^{iz}}{1+z^2}\,dz = \int_0^\pi \frac{e^{iRe^{it}} \cdot iRe^{it}}{1+R^2e^{2it}}\,dt.$$The residue of $\frac{e^{iz}}{1+z^2}$ at $z = i$ is simply $\frac{e^{iz}}{z+i}$ evaluated at $z=i$, which is $\frac{1}{2ie}$. Thus, by the Residue Theorem, we have
$$\int_{-R}^R \frac{e^{ix}}{1+x^2}\,dx + \int_0^\pi \frac{e^{iRe^{it}} \cdot iRe^{it}}{1+R^2e^{2it}}\,dt = 2\pi i \cdot \frac{1}{2ie} = \frac{\pi}{e}.$$Sending $R \to +\infty$, we have
$$\int_{-\infty}^\infty \frac{e^{ix}}{1+x^2}\,dx + \int_0^\pi \frac{e^{iRe^{it}} \cdot iRe^{it}}{1+R^2e^{2it}}\,dt = \frac{\pi}{e}$$The integral in the middle vanishes, and so therefore
$$\int_{-\infty}^\infty \frac{e^{ix}}{1+x^2}\,dx = \frac{\pi}{e}.$$The original integral, $\int_{-\infty}^\infty \frac{\cos x}{1+x^2}\,dx$, is thus the real part of $\pi/e$... which is just $\pi/e$. We conclude that
$$\boxed{\int_{-\infty}^\infty \frac{\cos x}{1+x^2}\,dx = \frac{\pi}{e}}.$$
This next example shows that the "arcs" we draw aren't always negligible. They might actually be useful.

Example 3

Let us evaluate the improper Riemann integral
$$\int_{-\infty}^\infty \frac{\sin x}{x}\,dx.$$
Why do I specify Riemann?

Firstly, instead of looking at $\sin x$, we will look at $e^{ix}$. So we will take the imaginary part of the answer to the integral $\int_{-\infty}^\infty \frac{e^{ix}}{x}\,dx$.

Now we choose the contour.

Key Idea 4: The contour you choose needs to dodge singularities (while also sticking to the real line as much as it can).

We're temped to pick the same semi-circular contour, but there is a problem: The semicircle crosses $z = 0$, where $\frac{\sin z}{z}$ is not defined. We must "dodge" this singularity with... another semi-circular arc.

So, in addition to having a bit $R > 0$ for the big circular arc, we will also need a small $\varepsilon > 0$ that controls the radius of a small semi-circular arc that serves to dodge this singularity. In all, the contour we choose will have four parts.
[asy]
void pole(pair z){
    draw(z+(.1,.1)--z+(-.1,-.1),p=linewidth(1.5));
    draw(z+(.1,-.1)--z+(-.1,.1),p=linewidth(1.5));
}
size(7cm);
draw((-2,0)--(2,0),p=linewidth(1.5),arrow=Arrows(5));
draw((0,-2)--(0,2),p=linewidth(1.5),arrow=Arrows(5));
draw((-1.5,0)--(-.3,0),p=linewidth(1.75)+rgb(0.8,0.18,0),arrow=MidArrow(5));
draw(arc((0,0),0.3,180,0,CW),p=linewidth(1.75)+rgb(0.93,0.46,0.15),arrow=MidArrow(5));
draw((.3,0)--(1.5,0),p=linewidth(1.75)+rgb(0.71,0.34,0.56),arrow=MidArrow(5));
draw(arc((0,0),1.5,0,180,CCW),p=linewidth(1.75)+rgb(0.64,0,0.38),arrow=MidArrow(5));
dot("$-R$",(-1.5,0),S,p=linewidth(1.75));
dot("$R$",(1.5,0),S,p=linewidth(1.75));
dot("$-\varepsilon$",(-.3,0),S,p=linewidth(1.75));
dot("$\varepsilon$",(.3,0),S,p=linewidth(1.75));
pole((0,0));
[/asy]

The integrals over the two straight-segment parts are simply $\int_{-R}^{-\varepsilon} \frac{e^{ix}}{x}\,dx$ and $\int_\varepsilon^R \frac{e^{ix}}{x}\,dx$. When we add these together and send $R \to +\infty$ and $\varepsilon \to 0^+$, that will give us $\int_{-\infty}^\infty \frac{e^{ix}}{x}\,dx$, the integral we need to study.

The integral over the larger semicircular arc is
$$\int_0^\pi \frac{e^{iRe^{it}} \cdot Rie^{it}}{Re^{it}}\,dt = \int_0^\pi ie^{iRe^{it}}\,dt.$$The integral over the smaller semicircular arc is
$$-\int_0^\pi \frac{e^{i\varepsilon e^{it}} \cdot \varepsilon ie^{it}}{\varepsilon e^{it}}\,dt = -\int_0^\pi e^{i\varepsilon e^{it}} \,dt.$$(The integral is negated because the contour is going clockwise, not counter-clockwise!)

By Cauchy's Theorem (there are no singularities inside the loop!), the integral over the entire contour is $0$. That is,
$$\int_{-R}^{-\varepsilon} \frac{e^{ix}}{x}\,dx + \int_\varepsilon^R \frac{e^{ix}}{x}\,dx + \int_0^\pi ie^{iRe^{it}}\,dt - \int_0^\pi ie^{i\varepsilon e^{it}}\,dt = 0$$
When we send $R \to +\infty$, the third term vanishes, so
$$\int_{-\infty}^{-\varepsilon} \frac{e^{ix}}{x}\,dx + \int_\varepsilon^\infty \frac{e^{ix}}{x}\,dx - \int_0^\pi ie^{i\varepsilon e^{it}}\,dt = 0$$
Now we need to send $\varepsilon \to 0^+$...
$$\int_{-\infty}^\infty \frac{e^{ix}}{x}\,dx = \lim_{\varepsilon \to 0^+} \int_0^\pi ie^{i\varepsilon e^{it}}\,dt$$...but that last term isn't going to vanish! It will have an actual limit.

I don't want to make this post any longer so I'm going to be extremely not rigorous. We write
$$\lim_{\varepsilon \to 0^+} \int_0^\pi ie^{i\varepsilon e^{it}}\,dt = \int_0^\pi \lim_{\varepsilon \to 0^+} ie^{i\varepsilon e^{it}}\,dt$$$$= \int_0^\pi i\,dt = i\pi.$$More Rigor

Therefore,
$$\int_{-\infty}^\infty \frac{e^{ix}}{x}\,dx = i\pi.$$The original integral, $\int_{-\infty}^\infty \frac{\sin x}{x}\,dx$, is just the imaginary part of $i\pi$... which is $\pi$. Thus
$$\boxed{\int_{-\infty}^\infty \frac{\sin x}{x}\,dx = \pi}.$$
Our last example uses contour integration in a "backwards" way.

Example 4

Let us evaluate the integral
$$\int_0^{2\pi} \frac{\sin^2 t}{5+4\cos t}\,dt.$$Two problems: (1) I don't like trig functions. (2) I like complex numbers. Both of these problems are easily solved using the following formulas:
$$\cos t = \frac{e^{it} + e^{-it}}{2}$$$$\sin t = \frac{e^{it} - e^{-it}}{2i}$$Let's replace the cosines and sines with these guys and see what happens!
$$\int_0^{2\pi} \frac{\sin^2 t}{5+4\cos t}\,dt = \int_0^{2\pi} \frac{\left(\frac{e^{it} - e^{-it}}{2i}\right)^2}{5+4 \cdot \frac{e^{it} + e^{-it}}{2}}\,dt$$$$ = \frac{-1}{4}\int_0^{2\pi} \frac{e^{2it} - 2 + e^{-2it}}{5 + 2e^{it} + 2e^{-it}}\,dt$$Hm, since $e^{it}$ appears so much, this kinda looks like the integral we would get if we were integrating some function over the contour $\partial D$... right? Could we do something with this?

Key Idea 5: Sometimes, you can manipulate the integrand so that it becomes the formula for a contour integral.

Remember that if we paramterize $\partial D$ by $e^{it}$, then the integral $\int_{\partial D} f(z)\,dz$ is given by $\int_0^{2\pi} f(e^{it}) \cdot ie^{it}\,dt.$ So... what this means is that if we manipulate our integrand to look like $f(e^{it}) \cdot ie^{it}$, then we can apply this formula backwards to write the integral as a contour integral!

The extra factor we need is $ie^{it}$... so let's just force it in!
$$\frac{-1}{4}\int_0^{2\pi} \frac{e^{2it} - 2 + e^{-2it}}{5 + 2e^{it} + 2e^{-it}} \,dt = \frac{-1}{4}\int_0^{2\pi} \frac{e^{2it} - 2 + e^{-2it}}{(5 + 2e^{it} + 2e^{-it})ie^{it}} \cdot ie^{it}\,dt$$Voila! By applying the formula for contour integrals in reverse, this is just the contour integral
$$\frac{-1}{4}\int_{\partial D} \frac{z^2 - 2 + z^{-2}}{(5 + 2z + 2z^{-1})iz}\,dz$$$$ = \frac{-1}{4i}\int_{\partial D} \frac{z^4-2z^2+1}{z^2(2z^2 + 5z + 2)}\,dz$$$$ = \frac{-1}{4i}\int_{\partial D} \frac{(z^2-1)^2}{z^2(2z+1)(z+2)}\,dz.$$We now apply the Residue Theorem! The integrand explodes at three points: $z=0$, $z = -1/2$ and $z = -2$. Only $z = 0$ and $z=-1/2$ are inside the circle. Calculating the residue at $z=-1/2$ is pretty easy, but $z=0$ is more annoying because it is a second-order pole, so using the easy method I outlined doesn't really work. There are two ways to proceed.

Method 1: The Ugly Formula

Method 2: Partial Fractions

Either way, we got the answer of $\boxed{\frac{\pi}{4}}$. Whew!

Your Turn

The way to master this method is by practicing! I have provided a number of practice problems that are in no particular order. If you need them, the hints will basically remove any guesswork you need to do by telling you what contour to take and/or what methodologies to use. And, just in case you want more guidance, I've written out the solution to two of these problems.

Happy integrating!
  1. Evaluate $\int_0^\infty \frac{1}{1+x^4}\,dx$. Hint Answer Solution
  2. Evaluate $\int_0^\infty \frac{\log x}{1+x^4}\,dx$. Small Hint Big Hint Answer
  3. (*) Evaluate $\int_0^\infty \frac{1}{1+x^3}\,dx$. Subtle Hint Big Hint Answer
  4. (*) Can you find a formula for $\int_0^\infty \frac{1}{1+x^n}\,dx$ for postive integers $n$?
  5. Evaluate $\int_0^\pi \frac{d\theta}{1+\cos^2\theta}$. Hint 1 Hint 2 Hint 3 Answer Solution
  6. Evaluate $\int_0^{2\pi} \frac{d\theta}{13+12\cos\theta}$. Answer
  7. Evaluate $\int_{-\infty}^\infty \frac{1-\cos x}{x^2}\,dx$. Hint 1 Hint 2 Answer
  8. (*) Evaluate $\int_0^\infty \cos(x^2)\,dx$. Hint 1 Hint 2 Answer

Comment

4 Comments

The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
My first intro to ca was this lmao

by kingu, Dec 4, 2024, 1:00 AM

The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
There was a mistake in this formula, you forgot a $i$
$$-\int_0^\pi \frac{e^{i\varepsilon e^{it}} \cdot \varepsilon ie^{it}}{\varepsilon e^{it}}\,dt = -\int_0^\pi {\color{red}i}e^{i\varepsilon e^{it}} \,dt.$$

by Bryan0224, Dec 6, 2024, 1:18 AM

The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
I mean $$-\int_0^\pi \frac{e^{i\varepsilon e^{it}} \cdot \varepsilon ie^{it}}{\varepsilon e^{it}}\,\mathrm{d}t = -\int_0^\pi {\color{red}i}e^{i\varepsilon e^{it}} \,\mathrm{d}t.$$

by Bryan0224, Dec 6, 2024, 1:58 AM

The post below has been deleted. Click to close.
This post has been deleted. Click here to see post.
noice $~~~~~~~~~$

by BS2012, Dec 13, 2024, 12:32 PM

Turtle math!

avatar

greenturtle3141
Archives
+ October 2024
Shouts
Submit
  • Can you give some thought to dropping a guide to STS? Just like how you presented your research (in your paper), what your essays were about, etc. Also cool blog!

    by Shreyasharma, Mar 13, 2025, 7:03 PM

  • this is so good

    by purpledonutdragon, Mar 4, 2025, 2:05 PM

  • orz usamts grader

    by Lhaj3, Jan 23, 2025, 7:43 PM

  • Entertaining blog

    by eduD_looC, Dec 31, 2024, 8:57 PM

  • wow really cool stuff

    by kingu, Dec 4, 2024, 1:02 AM

  • Although I had a decent college essay, this isn't really my specialty so I don't really have anything useful to say that isn't already available online.

    by greenturtle3141, Nov 3, 2024, 7:25 PM

  • Could you also make a blog post about college essay writing :skull:

    by Shreyasharma, Nov 2, 2024, 9:04 PM

  • what gold

    by peace09, Oct 15, 2024, 3:39 PM

  • oh lmao, i was confused because of the title initially. thanks! great read

    by OlympusHero, Jul 20, 2024, 5:00 AM

  • It should be under August 2023

    by greenturtle3141, Jul 11, 2024, 11:44 PM

  • does this blog still have the post about your math journey? for some reason i can't find it

    by OlympusHero, Jul 10, 2024, 5:41 PM

  • imagine not tortoise math

    no but seriously really interesting blog

    by fruitmonster97, Apr 2, 2024, 12:39 AM

  • W blog man

    by s12d34, Jan 24, 2024, 11:37 PM

  • very nice blog greenturtle it is very descriptive and fascinating to pay attention to :-D

    by StarLex1, Jan 3, 2024, 3:12 PM

  • orz blog

    by ryanbear, Dec 6, 2023, 9:23 PM

67 shouts
Tags
About Owner
  • Posts: 3553
  • Joined: Oct 14, 2014
Blog Stats
  • Blog created: Oct 23, 2021
  • Total entries: 54
  • Total visits: 40822
  • Total comments: 126
Search Blog
a