An Algebraic Sketch of Poetic Form

Let’s take a standard, classical haiku:

furu ike ya
kawazu tobikomu
mizu no oto1

Matsuo Bashō

There are a few formal characteristics that make a haiku. We’ll focus on the most famous one: its moraic structure2, the counting of 5, 7, 5 morae, respectively, in the three lines of the poem.

By way of comparison, let’s look at another famous stanza, from Dante:

Nel mezzo del cammin di nostra vita
mi ritrovai per una selva oscura,
ché la diritta via era smarrita.3

—Dante Alighieri, Divina Commedia

A little less famously: the Commedia is in the terza rima form. Each of its stanzas has the above shape: three lines in an ABA rhyme scheme. Each stanza takes the previous stanza’s B as its A.


These are two examples of poetry coming from entirely different traditions, languages, times and places. Nevertheless, because they are poetry4, they’re conventionally divided into well-defined lines, and each example is written in a particular, well-defined poetic form5. In every case, we can define some form that encapsulates all the constraints that the poem has to follow—all of the formal characteristics that must be true about any line in the poem—in order for the poem to be said to be in the form.

If we’re interested in poetry—particularly if we’re interested in writing poetry—we might find it useful to think of these disparate poetic forms as objects unto themselves, and further, not only as particular cultural artifacts, arising from of the practices of particular communities—which they are—but also as examples of the same type of thing: objects that have the same shape, though they differ in the details.


Intuitively, we might already see that the haiku and the stanza of Dante have certain structural qualities in common. For one thing, they are both of exactly three lines, and in order to conform to their respective forms, can only be of three lines. They are both tercets.

The haiku’s morae go 5, 7, 5. The Dante’s line endings go ita, ura, ita. If our respective forms consist partially in their structures then they also include some mechanic, so to speak: some attribute that we extract from a line and compare against the pattern prescribed by the form in question. In the case of the Bashō that’s the number of morae in a line; in the case of the Dante that’s the ending sound of a line.

For any poetic stanza, the combination of:

encapsulates an important structural view of the poetic form.

“Furu ike ya”:

$$( \text{the number of morae in a line}, \langle 5, 7, 5 \rangle )$$

“Nel mezzo del cammin”:

$$( \text{the ending sound of a line}, \langle \mathrm{ita}, \mathrm{ura}, \mathrm{ita} \rangle )$$

The patterns, or structural components of these two stanzas—the second half of each of the above pairs—have more in common than the fact that each one has three items in it. 5, 7, 5 and ita, ura, ita are different types of things—one is a sequence of numbers, and the other is a sequence of sounds—but they share a structural pattern: the first and third elements are alike in some particular respect, and different from the second.

So they aren’t just tercets: they’re enclosed tercets, where they both obey some underlying structure that is shaped ABA.

Here too, the ABA shape of each stanza isn’t incidental; it’s essential to the stanza’s respective form. It’s part of the structure that the stanza must exhibit in order to be a well-formed example of its form.


The first, maybe trivial observation: the set of enclosed tercets is a proper subset of the set of tercets.


Let’s generalize slightly. We’ve been describing two examples of two poetic forms; now let’s talk about the poetic forms themselves.

We can generalize the structural quality of “furu ike ya” to all haiku. The Bashō exhibits a 5, 7, 5 structure because all haiku must.

On the other hand, the Dante’s line endings are merely particular cases of the form of a terza rima stanza. The terza rima stanza doesn’t consist in any particular line endings; it only consists in that the first and third line ending are the same, and different from the second.

So, to generalize from “Nel mezzo del cammin” we have to replace the particular ita, ura sounds with placeholders that can be used to answer the question of equivalence between any two arbitrary sounds.

Haiku:

$$( \text{the number of morae in a line}, \langle 5, 7, 5 \rangle )$$

Terza Rima:

$$( \text{the ending sound of a line}, ABA )$$

We can reflect the distinction between the two forms graphically: the structural element of the terza rima is more general—it’s one level of abstraction higher than that of the haiku.

\begin{equation} \begin{CD} \text{terza rima} @>\text{number of morae}>> x \\ @A\text{generalize structure}AA @AA\text{generalize structure}A \\ \text{``Nel mezzo del cammin''} @<<\text{line ending}< \text{haiku} \end{CD} \end{equation}

The diagram prompts our second, more useful observation: we can imagine a poetic form that’s like a haiku, but where the concrete values 5, 7, 5 have been replaced by placeholder values. Call it a semihaiku:

$$( \text{the number of morae in a line}, ABA )$$

This fills out the diagram:

\begin{equation} \begin{CD} \text{terza rima} @>>> \text{semihaiku} \\ @AAA @AAA \\ \text{``Nel mezzo del cammin''} @<<< \text{haiku} \end{CD} \end{equation}

We might find particularly poignant those semihaiku that are written in lines of 13, 6, 13. Or 10, 13, 10. And so on.


In short: we might find that poetic forms admit a certain informal formalization as algebraic structures. We won’t try to prove that they are “actually” algebraic structures; but we’ll see if depicting the rules that people use to write poetry as combinations of sets with some operations can point towards new possibilities.

We can employ some mathematical techniques to explore a few of these possibilities—particularly some mathematical notion6. Such a notation, which has the disadvantage of being unfamiliar and possibly forbidding, is a terse way of expressing relationships between objects that would otherwise be laborious to write out in English and, in the writing-out, would engender much ambiguity.


Up to now we’ve treated “Nel mezzo del cammin” in isolation; in fact, it’s the first stanza of a longer work, and the terza rima form doesn’t describe an individual stanza: it describes a series of linked stanzas.

We’ve described the terza rima structure as ABA. Actually, it’s more complicated. We can describe it as a recursive function7 \( \sigma_{tr} \) which takes the ordinal \( n \) as its argument.

\begin{equation} \begin{split} \sigma_{tr}(n) &= \sigma(n-1)_2, A, \sigma(n-1)_2 \\ \sigma_{tr}(1) &= A, B, A \end{split} \end{equation}

Our third observation: just as replacing the structural element of the haiku form with the structural element of the enclosed tercet gives us the novel semihaiku form, we can imagine a form consisting of linked semihaiku:

$$( \text{the number of morae in a line}, \sigma_{tr} )$$

One imagines a new translation of the commedia into Japanese.


The recursive nature of \( \sigma_{tr} \) is a useful complication to understand. That said, in the general case we can talk about the structural component \( \sigma \) of some poetic form as a tuple of structural attributes, instead of a function that goes to such a tuple.


Let’s generalize further. The phrases \(\text{the number of morae in a line}\) and \(\text{the ending sound of a line}\) are both particular kinds of lenses onto a line of poetry, both of which describe the particular attribute with respect to which the line is evaluated. We can formalize this kind of lens as a function \( \rho \):

$$\rho : \mathbb{L} \to S $$

Where \( \mathbb{L} \) is the set of all lines of poetry, and \( S \) is some set of individual structural attributes. In our examples, \( \mathrm{Sound} \) (the set of all sounds) is a possible value for \( S \) and \( \mathrm{Number} \) (\( \N \), the set of natural numbers) is a possible value for \( S \).

In this framing: traditional, Western poetry, which defines the structural relationship between poetic lines as deriving from the equivalence of their ending sounds (“rhyme”), operates by applying a particular lens to a line. That lens is one particular instance of \( \rho \), which we can give the name \( \rho_{rh} \):

\begin{equation} \begin{split} \rho_{rh}(l) = \text{the ending sound of } l \end{split} \end{equation}

Our fourth observation—maybe a trivial one, or maybe a very important one: the set of possible values for \( S \)—of possible sets from which to draw the elements of the structural component of a poetic form—is infinite and we can spend as much time as we like thinking of new ones, as long as we can construct some \( \rho \) that can produce them. For instance:

\begin{equation} \begin{split} \rho_{nl}(l) &= \text{the number of letters in } l \\ \rho_{cv}(l) &= \text{the most common vowel in } l \\ \rho_{c}(l) &= \text{the subjectively-experienced color of the most vividly-colored word in } l \\ &\text{etc.} \end{split} \end{equation}

Our fifth observation: we now have enough formal apparatus to consider another kind of relationship between different forms. We may observe that multiple—indeed, infinite—functions \( \rho \) can be invented that go to the same set \( S \). To take an example, the function \( \text{the number of morae in a line} \)—call it \( \rho_h \)—goes to the natural numbers \( \N \) (thus is its structural component, \( \sigma_h \) or \( \langle 5, 7, 5 \rangle \), a 3-tuple of \( \N \)).

\begin{equation} \begin{align*} & \rho_h &&= \text{the number of morae in a line} &&: \mathbb{L} \to \mathbb{N} \\ & \sigma_h &&= \langle 5, 7, 5 \rangle &&: \langle \mathbb{N}, \mathbb{N}, \mathbb{N} \rangle \end{align*} \end{equation}

Above, we created a new poetic form, the semihaiku, by importing the more general ABA scheme from the terza rima into the haiku. We can generate new forms also by reusing \( \sigma_h \) with other functions \( \rho \) that also go to the natural numbers.

Hopkinssprung rhythm operates by dividing lines into feet of a single stressed syllable and any number of unstressed syllables (this is in contrast to classical meter, which categorizes feet by the number and arrangement of stressed and unstressed syllables). For a poem written in sprung rhythm to be well-formed, every line has to contain a prescribed number of feet. We can easily imagine a function

\begin{equation} \begin{align*} & \rho_{sp}(l) &&= \text{the number of stressed syllables in } l &&: \mathbb{L} \to \mathbb{N} \\ \end{align*} \end{equation}

And use that to construct the sprung haiku89:

$$( \rho_{sp}, \sigma_h )$$


Let’s generalize the notion of rhyme. We already often use the word in a metaphorical or extended sense: two things rhyme if they are alike, or equivalent, according to some given attribute projection.

We can define rhyme as a relation \( \sim \) with respect to some \( \rho \). In many cases, this can be understood as a simple equivalence relation. To characterize the type of rhyme employed in most Western rhyming poetry, for instance, we can say

\begin{equation} \begin{split} \forall l, l' \in \mathbb{L} : l \sim l' \iff \rho_{rh}(l) = \rho_{rh}(l') \end{split} \end{equation}

That is, that two lines rhyme if and only if their end-sounds are the same (for sufficiently nuanced definitions of “end-sound” that capture things like the position of the last stressed syllable, etc).

Thus we give slightly more rigor to an intuition that we might already have; and we give ourselves a useful piece of general terminology when describing any poetic form. The first and third lines of the enclosed tercet rhyme by equivalence under \( \rho_{rh} \); the first and third lines of a haiku rhyme by equivalence under \( \rho_h \), and so on.


Our sixth observation: equivalence is a useful and simple relation between members of the codomain of \( \rho \), but just as we can imagine new sets \( S \) and new functions \( \rho \) to generate them, we can imagine infinitely many binary rhyming relations:

\begin{equation} \begin{split} s \sim s' &\iff \# s = \# s' \\ s \sim s' &\iff s ∩ s' \neq \emptyset \\ s \sim s' &\iff s + s' \text{ is odd} \\ &\text{etc.} \end{split} \end{equation}

Let’s assemble a provisional formalization. A poetic form \( \phi \) is a structure:

\begin{equation} \begin{split} &( S, \rho, \sigma, \sim ) \\ \text{where} \\ S &\text{ is a set} \\ \rho &: \mathbb{L} \to S \\ \sigma &: \langle S \rangle \\ \sim &: (S \times S) \to \mathbb{B} \end{split} \end{equation}

Given that structure, we can say that a poem \( p \) consisting of lines \( \langle l_1, l_2, \ldots l_n \rangle \) is correct under \( \phi \) if and only if

$$\forall l_n \in p : \rho(l_n) \sim \sigma_n$$

Or, in plain language, a poetic form consists of:


As a good Modern, I’ve always been a little uncomfortable with traditional rhyme in English poetry, and I’ve always been interested in alternatives.

One such alternative model is the old Germanic tradition, which operated on the alliterative principle. The details vary over time and place, and involve things like half-lines with caesuras, but the core of the form, understood through some of the terminology we’ve developed, is a rhyme relation \( \sim_{a} \) that checks for equivalence between the initial sounds (or onsets) of stressed syllables. In other words:

\begin{equation} \begin{align*} \rho_a(w) &= \text{the onset of the stressed syllable of } w &&: \mathbb{L} \to \mathrm{Onset} \\ w \sim_a w' &\iff \rho_a(w) = \rho_a(w') \end{align*} \end{equation}

Traditionally these rhyme schemes tend to operate within a single line, comparing one word with another. We can lift this relation up to the line level by lifting the word-wise function \( \rho_a \) to a line-wise function \( \rho_{al} \):

\begin{equation} \begin{align*} \rho_{al}(l) &= \{\, \rho_a(w) \mid w \text{ is stressed in } l \,\} &&: \mathbb{L} \to \{ \mathrm{Onset} \} \end{align*} \end{equation}

That is: to define a \( \rho \) that produces the set of the stressed syllables in the stressed words in a line of poetry.

Working with sets also gives us more options when defining our \( \sim_{al} \). We can stick with equivalence—lines rhyme if all the stressed syllables in both lines begin with the exact same sounds—but we can also loosen the constraint by using, for instance, the relation mentioned above:

\begin{equation} \begin{split} s \sim_{al} s' \iff s ∩ s' \neq \emptyset \end{split} \end{equation}

That is, lines rhyme if they share at least one stressed-word-onset in common11.

The reappearance of stressed syllables naturally puts us back in mind of sprung rhythm. Let’s define a form that applies the structural 5, 7, 5 value of haiku to sprung rhythm and layers on a line-oriented alliteration in the old Germanic style, with the rhyme scheme (under alliteration) of the enclosed tercet.

\begin{equation} \begin{split} \phi &= ( S, \rho, \sigma, \sim ) \\ \text{where} \\ S &= \langle \{\mathrm{Onset}\}, \N \rangle \\ \rho(l) &= \langle \rho_{al}(l), \rho_{sp}(l) \rangle \\ \sigma &= \langle \langle A, 5 \rangle, \langle B, 7 \rangle, \langle A, 5 \rangle \rangle \\ \langle s_1, s_2 \rangle \sim \langle s_1', s_2' \rangle &\iff s_1 \sim_{al} s_1' \land s_2 = s_2' \end{split} \end{equation}

I’ve written an instance of this enclosed alliterative sprung haiku:

This week the sky has been low over our heads indeed;
we walk back from the movies after the rain and this little neighborhood is a garden.
The daytime is skeptical; nobody understands the weather.

We can analyze this poem by mapping \( \rho \) across each of its three lines to produce some \( \sigma' \), which we can then compare against the \( \sigma \) at \( \phi \).

For each line, the stressed words (this is a subjective question; my reading of the poem determines where I think the stresses should fall12):

This week the sky has been low over our heads indeed;
we walk back from the movies after the rain and this little neighborhood is a garden.
The daytime is skeptical; nobody understands the weather.

For each stressed word, the stressed syllable:

week sky low heads indeed
walk back movies rain little neighborhood garden
daytime skeptical nobody understands weather

For each stressed syllable, the onset:

w sk l h d
w b m r l n g
d sk n ə w13

The result of our \( \rho \) is a pair. The first element of the pair is the set of the stressed onsets in a line, \( \rho_{al}(l) \):

\( \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \)
\( \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \} \)
\( \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} \)

The second element of the pair is the number of stressed syllables, \( \rho_{sp}(l)\). When all the onsets are unique, as they happen to be here, we can simply count the elements of each set.

\( 5 \)
\( 7 \)
\( 5 \)

The result is \( \sigma' \), a mapping of our \( \rho \) over each line of our poem:

\( \langle \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \)
\( \langle \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \}, 7 \rangle \)
\( \langle \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \)

each of which is in \( S \).

Given the structural component:

\begin{equation} \begin{split} \sigma = \langle &\langle A, 5 \rangle, \\ &\langle B, 7 \rangle, \\ &\langle A, 5 \rangle \rangle \end{split} \end{equation}

we can execute a simple algorithm14 that iterates over the three lines of \( \sigma' \) and compares each one to its counterpart at \( \sigma \):

\begin{equation} \begin{align*} n = 1 : & \\ \rho(l_1) &= \langle \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \\ \sigma_1 &= \langle A, 5 \rangle \\ &\bullet \phantom{\therefore} \text{assign } A \leftarrow \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \\ &\bullet \phantom{\therefore} 5 = 5 \\ n = 2 : & \\ \rho(l_2) &= \langle \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \}, 7 \rangle \\ \sigma_2 &= \langle B, 7 \rangle \\ &\bullet \phantom{\therefore} \text{assign } B \leftarrow \{ \mathrm{b}, \mathrm{g}, \mathrm{l}, \mathrm{m}, \mathrm{n}, \mathrm{r}, \mathrm{w} \} \\ &\bullet \phantom{\therefore} 7 = 7 \\ n = 3 : & \\ \rho(l_3) &= \langle \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \}, 5 \rangle \\ \sigma_3 &= \langle A, 5 \rangle \\ &\bullet \phantom{\therefore} \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} \sim A \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} \sim \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{ə}, \mathrm{d}, \mathrm{n}, \mathrm{sk}, \mathrm{w} \} ∩ \{ \mathrm{d}, \mathrm{h}, \mathrm{l}, \mathrm{sk}, \mathrm{w} \} \neq \emptyset \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \iff \{ \mathrm{d}, \mathrm{sk}, \mathrm{w} \} \neq \emptyset \\ &\phantom{\bullet} \therefore \rho(l_3) \sim \sigma_3 \\ &\bullet \phantom{\therefore} 5 = 5 \end{align*} \end{equation}

\( \sim \) holds for each line with respect to its counterpart in \( \sigma \): the poem scans.


My purpose in all of the foregoing is to make a sketch of a generative poetics.

The mathematician and the computer programmer both deal in abstractions; the value of these abstractions lies precisely in the extent to which the manipulation of those abstractions produces valuable effects in the phenomena over which they abstract.

In our case, our chosen phenomenon is the poem; by the time it lands on the page, the poetic work cannot be defined by its form; it exists only in the interaction between its text and its reader. It is perfectly whole and incorrigible. Thus, the effect that we can produce is, possibly, the generation of successive catalysts to the writing of new poems.

All this talk, of course, of terza rima and tercets is rather old fashioned. Traditional form doesn’t dominate the modern experience of poetry as it once did; though it also never quite goes away.

I will however claim that while no poem is defined by its form, neither can any poem fully escape its form. However many formal constraints a work is written within, that interaction between text and reader consists partially in the interaction between natural language and structure. To read a poem as a poem is to build and amend a structure, to test the next word we read against the structure we have built, to derive pleasure when there’s harmony between the two and surprise when there’s disagreement.

Then there are two forms: the one built in the mind of the author and the one built in the mind of the reader. There can be no direct causal link, but neither can we claim that they’re independent of each other.

So form is always present in the work. While the poet can never claim to have authored the experience of the reader as they’ve authored the text, they also can’t claim to wash their hands entirely of the experience of formal structure. The structure is ineluctable. We can no sooner decide to write a poem without form than we can avoid including certain words and excluding certain others.

  1. An ancient pond:
    A frog jumps in,
    The sound of water.

    Haiku consist of a certain number of morae to each line; a “cutting word”, and a word placing the poem in a particular season. Technically, by focusing only on the moraic structure, we’ll be discussing the senryū form, but that fine distinction is not totally relevant for our purposes.

  2. Morae are a bit like syllables, but smaller; a word of only one syllable might be divided into more than one morae. Japanese poetic forms like haiku operate by counting the number of morae in a given line. The way that words are divided into morae is fascinating in its own right, but for our purposes, what’s relevant is that, like syllables, every line of a poem has a fixed, countable number of morae.

  3. In the middle of this life’s journey
    I found myself in a dark forest,
    As the straight-ahead path was lost.

    This is the first stanza of the Inferno, the first section of Dante’s Divine Comedy.

    In addition to the ABA rhyme scheme, the lines in the Commedia each have 11 syllables. For simplicity’s sake, we’ll consider only the rhyme scheme, not the meter, in our formal description of this poetic form.

  4. Prose poetry provides a potential exception to the rule put forth here. It could be claimed—only somewhat unsatisfactorily—that a paragraph of prose poetry can be formalized within the system described here as a stanza consisting of a single line.

  5. If we view form as a set of constraints, then even free verse is a form. Its set of constraints is the empty set.

  6. A few bits of notation that I’ll use:

    • Functions: \( f(x) = y \) names some process or relationship \( f \) that, when applied to some argument \( x \), “produces” or “goes to” some value \( y \).

      The arrow notation \( f : X \to Y \) describes the domain and codomain of \( f \), that is: the set of objects that \( f \) can be applied to and the set of objects in which the results of \( f \) are found.

    • Sets and tuples: curly braces \( \{ x, y \} \) describe a set that contains \( x \) and \( y \). Angle brackets \( \langle x, y \rangle \) describe the same collection of objects, but define an ordering between them (\( x \) comes before \( y \), and so on).

    • Universal quantification: the notation \( \forall x \in X : y \) establishes some expression \( y \) that must be true for every element in the set \( X \).

    • If and only if: the notation \( x \iff y \) denotes that whenever \( x \) is true, \( y \) is true; and vice versa.

  7. We don’t need to think of the structure of a haiku as a function, because a haiku only consists of a single stanza and its structure doesn’t change. For completeness’ sake only, then, we can imagine a definition:

    \begin{equation} \begin{split} \sigma_{h}(1) &= \langle 5, 7, 5 \rangle \end{split} \end{equation}

    that’s only defined for \( n = 1 \).

  8. It goes without saying that the sprung semihaiku is defined as $$( \rho_{sp}, ABA )$$

  9. This also gives us a relatively precise way to describe the common Western misprision of the haiku: $$( \text{the number of syllables in a line}, \sigma_h )$$

  10. We can make explicit the fact that “some attribute” may be a composite of multiple attributes. For instance, we can propose the enclosed semihaiku,

    \begin{equation} \begin{split} &( \langle \N, \mathrm{Sound} \rangle, \rho_{\langle h, rh \rangle}, ABA, = ) \\ \text{where} \\ &\rho_{\langle h, rh \rangle}(l) = \langle \rho_h(l), \rho_{rh}(l) \rangle \end{split} \end{equation}

    under which two lines rhyme if they have the same number of morae and they end with the same sound.

  11. We can imagine a whole series of rhyming by degree. For instance:

    • Lines rhyme if they have at least 2 shared stressed-word-onsets.
    • Lines rhyme if the Jaccard Similarity between their stressed-word-onset sets is \( \geq 0.5 \).
  12. Hopkins used written accents to make this explicit to the reader.

  13. We have an interesting decision to make when it comes to defining our \( \rho \): whether all syllables starting with vowels “rhyme”, or whether vowel onsets only rhyme if they share the same sound. The latter is a tighter constraint.

  14. The steps are written out here for illustration; in practice, one rarely needs an algorithm of any kind to tell for oneself whether a poem fits the meter or not.


Built with Bagatto.