#include <string>
#include <iostream>
#include <iomanip>
#include <chrono>


using namespace std;


int main(int argc, const char * argv[])
{

    string s;
    for(int i = 0; i < 100000; ++i) s += rand()%26+'A';

    auto start = chrono::high_resolution_clock::now();
    string d;
    d.reserve(s.length()*3/2);
    for(size_t i = 0; i < s.length(); ++i)
    {
        d += s[i++];
        if (i < s.length())
        {
            d += s[i];
            d += '-';
        }
    }
    auto stop = chrono::high_resolution_clock::now();
    cout << chrono::duration_cast<chrono::nanoseconds>(stop-start).count() << endl;

    start = chrono::high_resolution_clock::now();
    string t;
    for(size_t i = 0; i < s.length(); ++i)
    {
        t += s[i++];
        if (i < s.length())
        {
            t += s[i];
            t += '-';
        }
    }
    stop = chrono::high_resolution_clock::now();
    cout << chrono::duration_cast<chrono::nanoseconds>(stop-start).count() << endl;

    //cout << t << endl << endl << endl;

    start = chrono::high_resolution_clock::now();
    for (size_t i(0), j(0); i < s.size(); i++, j++)
    {
        if (j > 1) {

            s.insert(i, "-");
            j = -1;
        }
    }
    stop = chrono::high_resolution_clock::now();
    cout << chrono::duration_cast<chrono::nanoseconds>(stop-start).count() << endl;
    // cout << s << endl;


}
