The Triangle of Power

The web is full of amazing and surprising creations. One such creation that has caught my attention lately was a video by 3Blue1Brown on the so-called “Triangle of Power”.

Apparently, the ideas originated on a Math Stack Exchange thread asking for more unified notations for exponents, logarithms and radicals. Indeed, while these formulas $2^3 = 8$, $\sqrt[3]{8} = 2$ and $\log_2 8 = 3$ are all discussing the same relationship that holds between 2, 3 and 8, they look so different that a student may not witness their commonality.

I see. So, the question is whether there could be a more explicit notations to unify and better visualize this relationship…

Yes indeed. One alternative notation has gained much interest. It is the so-called Triangle of Power. In our case, this triangle of power can depict the relationship between 2, 3 and 8 in a wonderfully compact and harmonious way, namely by denoting $_2\overset{3}{\Delta}_8$.

And that triangle $_2\overset{3}{\Delta}_8$ is a formula?

No! It’s more like an identity in itself. To perform computations, it might be useful to move one of the entries of the triangle to the other side of an equal sign as follows:
$$_2\overset{3}{\Delta}_8 \Longleftrightarrow \; _2\overset{3}{\Delta} = 8\Longleftrightarrow \overset{3}{\Delta}_8 = 2\Longleftrightarrow \; _2\Delta_8 = 3.$$

3Blue1Brown argues that this beautiful notation greatly simplifies the understanding of the mathematical underlying objects, namely exponents, logarithms and radicals. This claim is quite disturbing at first. Indeed, again and again, I had to translate the equations of his video into equations in terms of the notations I am more familiar with. I could not think in terms of the triangle of power.

So you think it’s a bad notation…

Actually, no. This just helped realize how dependent on current flawed notations my mathematical thinking was! That’s not good! Moreover, I did get stunned by some of the many artful equations that this new notation yielded, e.g.
$$_x\overset{y}{\Delta}_{_x\overset{y}{\Delta}}, \; _x\overset{_x\Delta_z}{\Delta}_z, \; _{\overset{y}{\Delta}_z}\overset{y}{\Delta}_z, \; \overset{+}{\Delta}_\times, \; _\times\Delta_\times, \; _\times\overset{\oplus}{\Delta}, \; _x\overset{y}{\Delta} = \overset{1/y}{\Delta}_x, \; _{_x\overset{y}{\Delta}}\overset{z}{\Delta}_{_x\overset{yz}{\Delta}}, \; _x\Delta_y \; _y\Delta_z = \; _x\Delta_z, \; _e\overset{i\tau}{\Delta}_1, \; _e\overset{i\tau/4}{\Delta}_i \ldots $$

By the end of the video, I got hooked.

Even though you couldn’t follow the computations…

That’s true. And it would have been hypocritical of me to claim that they were indeed the way to go, if I had not yet experienced the actual benefaction of using and thinking in terms of this triangle of power. Following 3Blue1Brown’s advice, it seemed that the only way for me to do so is to go explore and play with the triangle of power. So I gave myself homeworks.

What homework?

I’ve decided to redefine and rederive well-known results about exponents, logarithms and radicals. And since I love the web, I couldn’t not share it with you. Enjoy!

Defining the Triangle of Power

Let us start from the bottom. We’ll assume that integers and real numbers have been well-defined, as well as the addition and the multiplication. In this section, we’ll redefine the triangle of power $_x\overset{y}{\Delta}_z$ for all $x,z > 0$ and $y \in \mathbb R$. It won’t be straightforward though. The first step is to define the triangle of power for top integer values of $y$, then for top rational values, and finally we shall use continuity to generalize it for real tops.

OK… Let’s start with integer tops.

Let’s define $_x\overset{n}{\Delta}$ for all $x > 0$ by induction on $n$. For $n=0$, we define $_x\overset{0}{\Delta}_1$, and we consider the induction $_x\overset{n\pm 1}{\Delta}_{x^{\pm 1} \times \overset{n}{_x\Delta}}$. We indeed use the “+” sign to define induction over positive integers, and the “-” sign for induction over negative integers.

Wait… Are you sure you’ve given an actual inductive definition?

Getting used to the meaning of the compact triangle-of-power notation is likely to be troublesome at first. What we really mean in terms of equations is that we define respectively $_x\overset{0}{\Delta} = 1$ and $_x\overset{n\pm1}{\Delta} = x^{\pm1} \times\; _x\overset{n}{\Delta}$. More generally, we have
$$_x\overset{n}{\Delta}_y \Longleftrightarrow \; _x\overset{n}{\Delta} = y\Longleftrightarrow \overset{n}{\Delta}_y = x\Longleftrightarrow \; _x\Delta_y = n.$$ From this definition, it follows straightforwardly that $_1\overset{n}{\Delta}_1$, $\;_x\overset{m+n}{\Delta} = \;_x\overset{m}{\Delta} \times\, _x\overset{n}{\Delta}$, $\; _x\overset{-n}{\Delta} = \;_{1/x}\overset{n}{\Delta} = \;\left( _x\overset{n}{\Delta} \right)^{-1}$ and that $x \mapsto \;_x\overset{n}{\Delta}$ is strictly increasing for $n \geq 1$ (and thus injective).

I think I follow…

Take your time. These notations can be very troubling.

Sure. You can move on.

Let us now a prove our first beautiful theorem. For $x>0$ and $n,m\in \mathbb Z$, we have $_{_x\overset{m}{\Delta}}\overset{n}{\Delta}_{_x\overset{mn}{\Delta}}$. I cannot help to comment on how cool I think that this elegantly structured notation is a theorem! We prove this by induction on $n$. The case $n=0$ boils down to the definition of the triangle of power for zero top value. Assuming that the result holds for $n$, we now have, using the induction definition of the triangle of power, $_{_x\overset{m}{\Delta}}\overset{n+1}{\Delta} = \;_x\overset{m}{\Delta} \; \times\, _{_x\overset{m}{\Delta}}\overset{n}{\Delta} = \;_x\overset{m}{\Delta} \times\, _x\overset{mn}{\Delta} = \;_x\overset{m(n+1)}{\Delta}$. This equality can be equivalently rewritten as $_{_x\overset{m}{\Delta}}\overset{n+1}{\Delta}_{_x\overset{m(n+1)}{\Delta}}$, which concludes the induction proof.

There is elegance in the notation indeed…

I know! Here’s another beautiful theorem. For all $x,y > 0$ and $m,n \in \mathbb Z$, we have $_x\overset{n}{\Delta}_{y} \Longleftrightarrow \; _x\overset{mn}{\Delta}_{_y\overset{m}{\Delta}}$. Using the previous result, we see that the right-hand side is equivalent to $_{_x\overset{n}{\Delta}}\overset{m}{\Delta}_{_y\overset{m}{\Delta}}$. For the left-to-right implication we can replace the left of the main triangle by $y$, yielding $_y\overset{m}{\Delta}_{_y\overset{m}{\Delta}}$, which is equivalent to $_y\overset{m}{\Delta} = \; _y\overset{m}{\Delta}$, which is clearly true. To go from right to left, we notice that $z = y$ is a solution of $_z\overset{m}{\Delta}_{_y\overset{m}{\Delta}}$. Yet the map $z \mapsto \; _z\overset{m}{\Delta}$ is injective, thus it is the only solution. Thus $_x\overset{n}{\Delta} = y$, which concludes the proof for positive integers $n$.

Cool! And I guess that the case for negative integers $n$ is dealt with similarly.

Yes! The theorem we’ve just proved can now be used to define the triangle power for rational tops. For $p \in \mathbb Z$ and $q \in \mathbb Z^*$, we define $_x\overset{p/q}{\Delta}_{y}$ if $_x\overset{p}{\Delta}_{_y\overset{q}{\Delta}}$. To prove the consistency of this definition, we need to make sure that it holds for any $p’,q’$ instead of $p,q$, whenever $p’/q’ = p/q$. To prove this it suffices to show that $_x\overset{p/q}{\Delta}_{y} \Longleftrightarrow _x\overset{kp/kq}{\Delta}_y$, i.e. $_x\overset{p}{\Delta}_{_y\overset{q}{\Delta}} \Longleftrightarrow \; _x\overset{kp}{\Delta}_{_y\overset{kq}{\Delta}}$. But this boils down to applying the two previous theorems. Indeed, $_x\overset{p}{\Delta}_{_y\overset{q}{\Delta}} \Longleftrightarrow\; _x\overset{kp}{\Delta}_{_{_y\overset{q}{\Delta}}\overset{k}{\Delta}} \Longleftrightarrow \;_x\overset{kp}{\Delta}_{_y\overset{kq}{\Delta}}$.

Cool! Top integers, checked. Top rationals, checked. All we have left to define are top reals!

Yes. But to get there, we’ll need to first prove another beautiful theorem: $_x\overset{p/q}{\Delta}_y \Longleftrightarrow \; _x\overset{p}{\Delta}_{_y\overset{q}{\Delta}} \Longleftrightarrow \; _x\overset{p}{\Delta} = \; _y\overset{q}{\Delta} \Longleftrightarrow \; _y\overset{q}{\Delta}_{_x\overset{p}{\Delta}} \Longleftrightarrow \; _y\overset{q/p}{\Delta}_x$. In other words, by fixing $r = p/q$, we obtain the reflection theorem. For $x,y > 0$ and $r \in \mathbb Q^*$, we have $_x\overset{r}{\Delta}_y \Longleftrightarrow \; _y\overset{1/r}{\Delta}_x$. This is so pretty! Moreover, by continuity, in the next section, we’ll see that this holds for nonzero real tops as well.

Are we now ready to define the triangle of power for top reals?

Almost! We now need to prove that for any $x\geq 1$, we have $_x\overset{1/n}{\Delta} \rightarrow 1$. Notice to start with that $_x\overset{1/n}{\Delta} \geq 1$. Now we consider $\epsilon > 0$. Then it is easy to see that $_{1+\epsilon}\overset{n}{\Delta} \rightarrow \infty$. In particular, there exists $N$ large enough so that $_{1+\epsilon}\overset{N}{\Delta} \geq x$. Moreover, for $n \geq N$, we have $_{1+\epsilon}\overset{n}{\Delta} \geq x$. By montonicity of the triangle power, this means that $1+\epsilon \geq \overset{n}{\Delta}_x = \;_x\overset{1/n}{\Delta} \geq 1$. This corresponds exactly to saying that $_x\overset{1/n}{\Delta} \rightarrow 1$. Using $_{1/x}\overset{1/n}{\Delta} = \left(\; _x\overset{1/n}{\Delta} \right)^{-1}$ and monotonocity, we can generalize this result for all $x>0$ and rational top. Namely, for any $x>0$ and $\epsilon >0$, there exists some $\delta>0$ such that for any rational $r \in (1-\delta,1+\delta) \cap \mathbb Q$, we have $\left|\;_x\overset{r}{\Delta} – 1\right| \leq \epsilon$.

In other words, the right side of the triangle of power is sort of continuous with respect to rational tops.

This is almost what we’ve proved, and exactly where I’m going with that! Let’s show that if a rational sequence $r_n$ converges, then, for all $x > 0$, the sequence $_x\overset{r_n}{\Delta}$ converges too. We have $ \left| \; _x\overset{r_{n+p}}{\Delta} – \; _x\overset{r_n}{\Delta} \right| \leq \; _x\overset{r_n}{\Delta} \left| _x\overset{r_{n+p} – r_n}{\Delta} – 1 \right|$. Since $r_n$ converges, it is upper-bounded by some positive real number $M$. Let $\epsilon > 0$. Combining monotonicity and the fact that $_x\overset{1/n}{\Delta} \rightarrow 1$ leads to the existence of some $\delta >0$ such that $\left|_x\overset{\delta}{\Delta} – 1\right| \leq \epsilon/M$. Finally, since $r_n$ converges, it satisfies the Cauchy property, which means that there is $N$ such that for $n \geq N$ and $p \geq 0$, we have $|r_{n+p}-r_n| \leq \delta$. Combining it all yields $ \left| _x\overset{r_{n+p}}{\Delta} – \; _x\overset{r_n}{\Delta} \right| \leq \epsilon$, and proves that $_x\overset{r_n}{\Delta}$ is a Cauchy sequence that thus converges.

So you’re saying that convergent rational tops imply convergent right-hand side… But does the choice of the convergent rational top sequence matter?

Great question! In order to assign a well-defined value to $_x\overset{\lim r_n}{\Delta}$, we do need to make sure that the value of $\lim \; _x\overset{r_n}{\Delta}$ is independent of the rational Cauchy sequence used to describe the real number $\lim r_n$. Let’s thus consider $s_n$ another rational Cauchy sequence with the same limit as $r_n$, i.e. $s_n-r_n \rightarrow 0$. We have
$$\left| \; _x\overset{r_n}{\Delta} – \; _x\overset{s_n}{\Delta} \right| = _x\overset{r_n}{\Delta} \left| \; _x\overset{s_n-r_n}{\Delta} -1 \right| \rightarrow \left( \lim \; _x\overset{r_n}{\Delta} \right) \left| 1-1\right| = 0,$$
which concludes the proof. We can finally define $_x\overset{z}{\Delta}$ for $x>0$ and $z \in \mathbb R$ as the limit of $_x\overset{r_n}{\Delta}$ for a rational Cauchy sequence $r_n \rightarrow z$. We did it!

Algebraic Identities

Perhaps the main property of the triangle of power is its ability to transform, in a certain sense, addition into multiplication and vice-versa. This is what I mean when I used the symbolic notation $\overset{+}{\Delta}_\times$. We have already proved that this was the case for integer tops (by induction on the definition). To generalize it to real tops, it actually suffices to prove it for rational tops, and to then involve a continuity argument. So let us consider $p,q,r,s$ nonzero integers (especially $r$ ans $s$). We have the following computation:
$$_x\overset{\frac{p}{q}+\frac{r}{s}}{\Delta} = \; _x\overset{\frac{ps+qr}{qs}}{\Delta} = \;_{_x\overset{1/qs}{\Delta}}\overset{ps+qr}{\Delta} = \;_{_x\overset{1/qs}{\Delta}}\overset{ps}{\Delta} \times \;_{_x\overset{1/qs}{\Delta}}\overset{qr}{\Delta} = \;_x\overset{ps/qs}{\Delta} \times \;_x\overset{qr/qs}{\Delta} = \;_x\overset{p/q}{\Delta} \times \;_x\overset{r/s}{\Delta}.$$

So this transformation of addition into multiplication holds for rational tops. What about real tops?

Denote $a=p/q$ and $b=r/s$, we see that this implies $_x\overset{a+b}{\Delta} = \;_x\overset{a}{\Delta} \times\;_x\overset{b}{\Delta}$. By now applying this equality for rational Cauchy sequences $a_n$ and $b_n$ and taking the limit, we see that this relation holds for all real numbers $a$ and $b$.

Now, perhaps a more elegant way to state this theorem is as follows. If $_x\overset{y}{\Delta}_Y$ and $_x\overset{z}{\Delta}_Z$, then $_x\overset{y+z}{\Delta}_{Y\times Z}$. Thereby, we really see how the triangle of power transforms top addition into right multiplication. So beautiful!

Pretty nice indeed!

Combining this with the reflection theorem yields a similar connection between left multiplication and what 3Blue1Brown called the top “oplus” addition. Assume that $_x\overset{X}{\Delta}_z$ and $_y\overset{Y}{\Delta}_z$, and denote $x\oplus y = (1/x+1/y)^{-1}$, we see that
$$\overset{X \oplus Y}{\Delta}_z = \;_z\overset{\frac{1}{X\oplus Y}}{\Delta} =\;_z\overset{\frac{1}{X}+\frac{1}{Y}}{\Delta} = _z\overset{1/X}{\Delta} \times \; _z\overset{1/Y}{\Delta} = \overset{X}{\Delta}_z \times \overset{Y}{\Delta}_z = x \times y.$$
In other words, we have $_{x\times y}\overset{X \oplus Y}{\Delta}_z$, which I earlier symbolically denoted $_\times\overset{\oplus}{\Delta}$.

Cool! What about if we now leave the right side unchanged. Is there a similar relation between left and top?

There is! Using the commutativity of the multiplications of real numbers, it is quite straightforward to show that if $_x\overset{n}{\Delta}_X$ and $_y\overset{n}{\Delta}_Y$ for some integer $n$, then $_{xy}\overset{n}{\Delta}_{XY}$. We now wish to extend this result to rationals $n = p/q$. To do so, notice that if $_x\overset{p/q}{\Delta}_X$ and $_y\overset{p/q}{\Delta}_Y$, then we have the more symmetric relations $_x\overset{p}{\Delta} =\; _X\overset{q}{\Delta}$ and $_y\overset{p}{\Delta} =\; _Y\overset{q}{\Delta}$. But then, multiplying the terms respectively yields $_x\overset{p}{\Delta} \times\; _y\overset{p}{\Delta} = _X\overset{q}{\Delta} \times\; _Y\overset{q}{\Delta}$. Now that the tops are integers, we can see that $_{xy}\overset{p}{\Delta} =\; _{XY}\overset{q}{\Delta}$, which corresponds to saying that $_{xy}\overset{p/q}{\Delta}_{XY}$. Finally, applying the continuity argument proves the result for all real tops, hence $_\times\Delta_\times$.

This is so awesome! I want to see more!

Sure! Let me point out three elegant tautologies. Clearly, we have $_x\overset{y}{\Delta} = \; _x\overset{y}{\Delta}$. This equality can be rewritten by putting the right-hand side in the missing bit of the left-hand side triangle of power, yielding $_x\overset{y}{\Delta}_{_x\overset{y}{\Delta}}$. Similarly, we have $_{\overset{y}{\Delta}_z}\overset{y}{\Delta}_z$ and $_x\overset{_x\Delta_y}{\Delta}_y$. In particular, by putting one of the non-triangle entry of the main triangles of power on the right-hand side of an inequality, we obtain descriptions of inverse operations. These inverse operations are notoriously misleading in education (why would $\exp$ be the inverse of $\ln$?). However, they now become visually pleasing and wonderfully easy to remember thanks to the triangle of power!

I can vouch for that!

Earlier, we proved another beautiful identity for integer tops. Note that it can be generalized for real tops (I’ll leave it as an exercise). This leads to the following theorem. For $x>0$, and $y,z \in \mathbb R$, we have $_{_x\overset{y}{\Delta}}\overset{z}{\Delta}_{_x\overset{yz}{\Delta}}$.

We can use this result to prove another splendid identity which we probably should called the Chasles relation. Let $x,y,z>0$. Then $_x\Delta_y \times\; _y\Delta_z = \; _x\Delta_z$. Indeed, this is equivalent to $_x\overset{_x\Delta_y \times\; _y\Delta_z}{\Delta}_z$. Using the previous property we derived, this is equivalent to $_{_x\overset{_x\Delta_y}{\Delta}}\overset{_y\Delta_z}{\Delta}_z$. But then, the tautologies we have proved allow us to simplify the left of the main triangle into $y$, and we are left with another tautology. Such a beautiful proof!


A major use of exponents, logarithms and radicals is differential and integral calculus. In trying to rederive results about these, I realized the gaps of my mathematical education. Namely, I was thought that the derivatives of $x \mapsto \;_x\overset{r}{\Delta} \left( =x^r \right)$ were the most fundamental derivatives.

They’re not?

Well, for $r \in \mathbb N$, they probably are. But it turns out that it’s much easier to start with $f : x \mapsto \; _a\overset{x}{\Delta}$, namely because the addition of tops is relativity simple. Namely we have
$$\frac{f(x+h)-f(x)}{h} = \frac{1}{h} \left( _a\overset{x+h}{\Delta} -\; _a\overset{x}{\Delta} \right) = \;_a\overset{x}{\Delta} \; \frac{_a\overset{h}{\Delta} – 1}{h} \rightarrow \;_a\overset{x}{\Delta} \; \left( \lim_{h \rightarrow 0} \frac{_a\overset{h}{\Delta} – 1}{h} \right).$$
This shows that $f$ is an eigenvector of the derivation operator, and that the associated eigenvalue depends on the left side $a$. Now, it can be shown, using for instance power series, that there is a value of $a$ for which the eigenvalue is 1. That value is Euler’s number $e$, for which $\frac{_e\overset{h}{\Delta} – 1}{h} \rightarrow 1$. We then have $\frac{d}{dx} \;_e\overset{x}{\Delta} = \;_e\overset{x}{\Delta}$. Moreover, the following computation yields the more general derivative with respect to the top:
$$\frac{d}{dx} \;_a\overset{x}{\Delta} = \frac{d}{dx} \left( \;_{_e\overset{_e\overset{a}{\Delta}}{\Delta}}\overset{x}{\Delta} \right) = \frac{d}{dx} \left( \;_e\overset{x \;_e\Delta_a}{\Delta} \right) =\; _e\Delta_a \; _e\overset{x \;_e\Delta_a}{\Delta} = \; _e\Delta_a \; _a\overset{x}{\Delta}.$$

Wow! This notation really points out the importance of $e$ in calculus!

Definitely much more than the “$\ln$” or “$\log$” or “$\exp$” notations!

What about other derivatives?

Notice that the map $y \mapsto \;_e\Delta_y$ is the inverse of $x \mapsto \;_e\overset{x}{\Delta}$. Using the derivative formula $(f^{-1})'(y) = \left( f’ \circ f^{-1} (y) \right)^{-1}$, we conclude that $\frac{d}{dy} \;_e\Delta_y =\; \left( _e\overset{_e\Delta_y}{\Delta} \right)^{-1} = y^{-1}= 1/y$. And we can use the Chasles relation to generalize this to all left sides, yielding $$\frac{d}{dy} \;_a\Delta_y =\; \frac{d}{dy} \left(\;_a\Delta_e \;_e\Delta_y \right) =\; \frac{1}{y} \;_a\Delta_e.$$

I guess we can now go back to $x \mapsto \;_x\overset{r}{\Delta}$…

Yes! Let’s assume $r \neq 0$ (the case $r=0$ is trivial). The key here is to rewrite this as $_x\overset{r}{\Delta} = \;_{_e\overset{_e\Delta_x}{\Delta}}\overset{r}{\Delta} = \;_e\overset{r \; _e\Delta_x}{\Delta}$. We can compute this using the derivation of composite functions, yielding
$$\frac{d}{dx} \;_x\overset{r}{\Delta} = \left( \frac{d}{dx} r \; _e\Delta_x \right) \;_e\overset{r \; _e\Delta_x}{\Delta}
= \frac{r}{x} \;_x\overset{r}{\Delta} = r \;_x\overset{r-1}{\Delta}.$$

Wait… There are other functions we can write and differentiate, like $\overset{r}{\Delta}_x$, $\;_x\Delta_a$ and $\overset{x}{\Delta}_a$…

Indeed! These derivatives can be derived from previous formulas and the reflection theorem. We obtain
$$\frac{d}{dx} \;\overset{r}{\Delta}_x = \frac{d}{dx} \;_x\overset{1/r}{\Delta} = \frac{1}{r} \;_x\overset{\frac{1}{r}-1}{\Delta} = \frac{1}{r} \;\overset{r\oplus (-1)}{\Delta}_x,$$
$$\frac{d}{dx} \;_x\Delta_a = \frac{d}{dx} \left( \;_a\Delta_x \right)^{-1} = \; – \left( \frac{d}{dx} \;_a\Delta_x \right) \left( _a\Delta_x \right)^{-2} = \; – \frac{1}{x}\;_a\Delta_e \left( \;_x\Delta_a \right)^{2} = \;- \frac{1}{x} \;_x\Delta_a \;_x\Delta_e,$$
$$\frac{d}{dx} \;\overset{x}{\Delta}_a = \frac{d}{dx} \left( \;_a\overset{1/x}{\Delta} \right) = \; – \frac{1}{x^2} \;_e\Delta_a \;\overset{x}{\Delta}_a.$$


In a nutshell, I am definitely convinced! The equations are now so beautiful, so harmonious, and so enlightening. Frankly, just playing around with these formulas was a great pleasure. These notations are also so rich that there are plenty of ways to explore them. And this is very exciting!

To conclude, here is an opening remark. Here, I have defined the triangle of power for positive sides and real tops. However, complex analysis has shown the relevancy of complex tops, especially for real left sides. Such complex tops can then yield complex right-hand side. However, the reflection theorem now becomes troublesome, as non-positive left sides are fundamentally troublesome, as I pointed it out in the introduction of my article on complex numbers. Nevertheless, $_x\overset{z}{\Delta}_w$ is now well defined for $x>0$ and complex numbers $z, w \in \mathbb C$. But note that there may be several $z$ solution to this equation. In fact, the prototypical of example of that regards the most natural equation $_e\overset{z}{\Delta}_1$, whose solutions are of the forms $z=ik\tau$, where $k \in \mathbb Z$ and $\tau = 2\pi \approx 6.28…$

In particular, we have a new notation for the most beautiful identity of mathematics, namely $_e\overset{i\tau}{\Delta}_1$. Beautiful! Just, so beautiful!

Leave a Reply

Your email address will not be published. Required fields are marked *