#include <cstring>
#include <iostream>
using namespace std;

class Participant{
private:
char ime[30], prezime[30];
int Vozrast;
int Reden_broj;
int tip_na_ucesnik;
char zemja_na_poteklo[10];
bool osvoeno_olimpijada;
public:
    Participant (){
    }
    Participant (char * _ime, char * _prezime, int _vozrast, int _reden_broj, int _tip_na_ucesnik, char * _zemja_na_poteklo, bool _osvoeno_olimpijada){
    strcpy(ime, _ime);
    strcpy(prezime, _prezime);
    Vozrast=_vozrast;
    Reden_broj= _reden_broj;
    tip_na_ucesnik= _tip_na_ucesnik;
    strcpy(zemja_na_poteklo,_zemja_na_poteklo);
    osvoeno_olimpijada=_osvoeno_olimpijada;
    }
    ~Participant(){}
    void set_ime(char * _ime){
      strcpy(ime,_ime);
    }
    void set_prezime(char * _prezime){
    strcpy(prezime, _prezime);
    
    }
    void set_vozrast(int _vozrast){
    Vozrast=_vozrast;
    }
    void set_reden_broj( int _reden_broj){
    Reden_broj=_reden_broj;
    }
    void set_tip_na_ucesnik(int _tip_na_ucesnik){
    tip_na_ucesnik=_tip_na_ucesnik;
    }
    
    char *get_ime(){
    return ime;
    }
    
    char *get_prezime(){
    return prezime;
    
    }
    int get_vozrast(){
    return Vozrast;
    }
    int get_tip_na_ucenik(){
    return tip_na_ucesnik;
    }
    /////////////////////////
    int get_reden_broj() {
        return Reden_broj;
    }
    char *get_zemja() {
        return zemja_na_poteklo;
    }
    int get_olimp() {
        return osvoeno_olimpijada;
    }
    int getPoeni() {

return 0;
};
    void print() {
        cout << ime << " " << prezime << endl;
    }

};

class StandAlone : public Participant{
private:
Participant samostoen_natprevaruvac;
int poeni_od_kvalifikacii, poeni_od_natprevaruvanje, poeni_od_sudijata;
public:
    StandAlone(){}
    StandAlone(Participant _samostoen_natprevaruvac, int _poeni_od_kvalifikacii, int _poeni_od_natprevaruvanje, int _poeni_od_sudijata) {
    samostoen_natprevaruvac=_samostoen_natprevaruvac;
    poeni_od_kvalifikacii=_poeni_od_kvalifikacii;
    poeni_od_natprevaruvanje=_poeni_od_natprevaruvanje;
    poeni_od_sudijata=_poeni_od_sudijata;
    }
    ~StandAlone(){}
    //////////
    
    int getPoeni( ) {
int k;
k=(poeni_od_kvalifikacii+poeni_od_natprevaruvanje+poeni_od_sudijata)/3;

return k;
};
    void print() {
        cout << samostoen_natprevaruvac.get_ime() <<  " " << samostoen_natprevaruvac.get_prezime() << endl;
    }



};
class Team : public Participant{
private:
Participant timski_igrac;
int redni_broevi[10];
int broj_na_ucesnici;
int postignati_poeni_poedinecno[10];
public:
    Team (){}
    Team(Participant _timski_igrac, int  _redni_broevi[], int _broj_na_ucesnici, int * _postignati_poeni_od_poedinecno){
    timski_igrac=_timski_igrac;
        for(int i =0 ; i < 10 ;i++) {
            redni_broevi[i] = _redni_broevi[i];
        }
    broj_na_ucesnici=_broj_na_ucesnici;
        for(int i = 0; i < 10; i++) {
            postignati_poeni_poedinecno[i] = _postignati_poeni_od_poedinecno[i];
        }
        
    }
    
    ~Team(){}
    ///////////////
int getPoeni(){
    int sum=0;
for(int i=0; i<broj_na_ucesnici; i++){
   
    sum+=postignati_poeni_poedinecno[i];
}
return sum*0.1;
}
    void print() {
        cout << timski_igrac.get_ime() <<  " " << timski_igrac.get_prezime() << endl;
    }

};






int main()
{
    Participant p("josif", "tepegjozov", 19, 10, 1, "MKD", true);
    p.print();
    return 0;
}
