#include <cstdio>
#include <string>
#include <iostream>

using namespace std;

const char *tmp = "efg";

int main() {
	string s1 = "abc"; // можно скопировать char*
	string s2 = string(tmp); // можно создать string(char*)
	
	string s;
	cin >> s; // считали строку до пробела, длина произвольна, память выделится при чтении
	getline(cin, s); // считали строку до перевода строки
	cout << s << endl;
	printf("%s\n", s.c_str()); // string -> char*
	printf("length = %d\n", (int)s.size());
	for (char c : s) { // перебрать символы, способ #1
		printf("char = %c\n", c);
	}
	for (int i = 0; i < (int)s.size(); i++) 
		; // перебрать символы, способ #2
	string t = s.substr(2, 3); // подстрока [2,2+3)
	cout << t << endl;
}