#include <iostream>
#include <fstream>

using namespace std;

fstream tusk, korwin;


void wypisywarka()
{
    for(int i=0; i<256; i++)
    {
        char a = i;
        cout<<i<<"\t"<<a<<"\n";
    }
}

int ana16(char a)
{
    return a-55;
}

int potega(int a, int b)
{
    int axa=1;
    for(int i=0; i<b; i++)
        axa*=a;
    return axa;

}

char ujednolicarka(char a)
{
    if(a>90)
        a=a-37;
    return a;
}

string odwracarka(string a)
{
    string axa;
    for (int i=0; i<a.length(); i++)
        axa+=a[a.length()-i-1];
    return axa;
}

int ziemniarka16(string a)
{
    int axa=0;
    for(int i=0; i<a.length(); i++)
    {
        axa+=ana16(ujednolicarka(a[i]))*potega(16,i);
    }
    return axa;
}

bool sztywnyazjiindrom(string a)
{
    for(int i=0; i<a.length()/2; i++)
    {
        if(ujednolicarka(a[a.length()-i-1])!=ujednolicarka(a[i]))
            return false;
    }

    return true;
}

int main()
{
    tusk.open("dane.txt", ios::in);
    korwin.open("wyniki.txt", ios::out);
    int pdpnktb=0, pdpnktc=0;
    for(int i=0; i<1000; i++)
    {
        string dolan;
        tusk>>dolan;
        if(ziemniarka16(odwracarka(dolan))%2==0)
            pdpnktb++;
        if(sztywnyazjiindrom(dolan))
        {pdpnktc++;
        //cout<<dolan<<"\t";
        }
    }

    korwin<<"b)\t"<<pdpnktb<<"\nc)\t"<<pdpnktc;
    return 0;
}
