#include <iostream>
#include <cstring>
using namespace std;
class String{
char *st;
int n;
public:
String();
String (const String&s);
String&append(const String&s);
String &searc(const String&s);
~String(){
delete[] st;
}
void input();
void show();
int quantity();
};
String ::String(){
n = 0;
}
String ::String(const String&s){
n = s.n;
st = new char[n];
strcpy(st,s.st);
}
//Конкатенация//
String & String :: append(const String &s){
char *c = new char[n+s.n];
for(int i = 0; i<n; i++)
c[i] = st[i];
for(int i = 0; i<s.n;i++)
c[i+n] = s.st[i];
delete [] st;
st = c;
n += s.n;
return *this;
}
//Поиск подстроки//
String & String:: searc(const String & s){
char *r = strstr(st,s.st);
if(r != NULL){
cout<<(int)(r-st);
}
return *this;
}
int String::quantity(){
return strlen(st);
}
void String::input(){
cout<<"Enter n: ";
cin>>n;
for(int i = 0; i<n; i++){
cin>>st[i];
}
}
void String::show(){
for(int i = 0; i<n; i++){
cout<<st[i]<<" ";
}
}
int main(){
String a,b;
a.input();
b.input();
cout<<a.quantity()<<endl;
a.append(b);
a.show();
cout<<endl;
a.searc(b);
return 0;
}