#include <fstream>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
bool cmp(char* a, char* b){
return strcmp(a,b) < 0;
}
int main(){
char s[256], m[256][10], *ptr[256]; // s - textul citit, m- vectorul de siruri, ptr - vectorul de pointeri(poate fi sortat)
int k = 0;
ifstream fin("fisier");
fin.getline(s, 256);
fin.close();
// se construieste matricea m (fiecare rand = un cuvant) si vectorul de pointeri
char *p = strtok(s, " ");
while(p != NULL){
strcpy(m[k], p);
ptr[k] = m[k];
k++;
p = strtok(NULL, " ");
}
// se sorteaza vectorul de pointeri
sort(ptr, ptr + k, cmp);
// se reconstruieste textul cu cuvintele in ordine alfabetica
s[0] = '\0';
for(int i = 0; i < k; i++){
strcat(s, ptr[i]);
strcat(s, " ");
}
cout << s;
}