1. Abridged Problem Statement
You have N petals and a cyclic list of M phrases. Starting from the first phrase, you "pluck" each petal in turn, pronouncing the next phrase in the list (wrapping around to the first after the last). Determine which phrase is spoken on the N-th (last) petal.

2. Detailed Editorial
- We label the phrases P[0], P[1], …, P[M-1].
- On the first petal, you speak P[0]; on the second, P[1]; …; after P[M-1], you wrap back to P[0].
- Thus the k-th petal uses phrase index (k−1) mod M.
- You need the phrase for k = N, so compute idx = (N−1) mod M, then output P[idx].
- Time complexity is O(M) for input reading and O(1) for computing the answer. Memory is O(M·L) where L is max phrase length.

3. C++ Solution

```cpp
#include <bits/stdc++.h>

using namespace std;

template<typename T1, typename T2>
ostream& operator<<(ostream& out, const pair<T1, T2>& x) {
    return out << x.first << ' ' << x.second;
}

template<typename T1, typename T2>
istream& operator>>(istream& in, pair<T1, T2>& x) {
    return in >> x.first >> x.second;
}

template<typename T>
istream& operator>>(istream& in, vector<T>& a) {
    for(auto& x: a) {
        in >> x;
    }
    return in;
};

template<typename T>
ostream& operator<<(ostream& out, const vector<T>& a) {
    for(auto x: a) {
        out << x << ' ';
    }
    return out;
};

int petals, phrases;
vector<string> phrase;

void read() {
    cin >> petals >> phrases;
    phrase.resize(phrases);
    cin >> phrase;
}

void solve() {
    // Phrases are pronounced cyclically, one per petal, so the phrase spoken on
    // the last (petals-th) petal is at index (petals - 1) mod phrases.

    cout << phrase[(petals - 1) % phrases] << '\n';
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);

    read();
    solve();

    return 0;
}
```

4. Python Solution

```python
def main():
    import sys
    data = sys.stdin.read().split()
    # data[0] = N (number of petals)
    # data[1] = M (number of phrases)
    # data[2..] = the M phrases
    N = int(data[0])
    M = int(data[1])
    phrases = data[2:]  # list of M strings

    # The phrase spoken on the N-th petal is at index (N-1) mod M
    idx = (N - 1) % M
    print(phrases[idx])

if __name__ == "__main__":
    main()
```

5. Compressed Editorial
Compute `(N−1) mod M` to get the zero-based index of the phrase spoken on the last (N-th) petal; read phrases into an array and output the one at that index.
