#include<stdio.h>
#include<struct.h>
struct Employee 
{
    char name[50];
    int id;
    int type;
    union
    {
        int fullTimeSalary;
        float partTimeRate;
    } pay;
};
int main()
{
    int numEmployees; 
    printf("Enter number of employees: ");
    if (scanf("%d", &numEmployees) != 1 || numEmployees < 0)
    {
        printf("-1\n");
        return 0;
    }
    struct Employee * employees = malloc(numEmployees * sizeof(structEmployee));
    if (!employees)
    {
        printf("Memory allocation failed\n");
        return 1;
    }
    double totalSalary = 0.0;
    for (int i = 0; i < numEmployees; i++)
    {
        scanf("%s %d %d", employees[i].name, &employees[i].id, &employees[i].type);
        if (employees[i].type == 1)
        {
            if (scanf("%d", &employees[i].pay.fullTimeSalary) != 1)
            {
                fprintf(stderr, "Error reading salary for full-time employee\n");
                free(employees);
                return 1;
            }
            totalSalary += employees[i].pay.fullTimeSalary;
        }
        else if (employees[i].type == 2)
        {
            if (scanf("%f", &employees[i].pay.partTimeRate) != 1)
            {
                fprintf(stderr, "Error reading rate for part-time employee\n";)
                free(employees);
                return 1;
            }
            totalSalary += employees[i].pay.partTimeRate * 40;
        }
        else
        {
            fprintf(stderr, "Invalid employee type\n");
            free(employees);
            return 1;
        }
    }
    printf("%.2f\n", totalSalary);
    free(employees);
    return 0;
}
    
    
    
    
    
    
   /* scanf("%zu", &n);
    if (n < 0)
    {
        printf("-1\n");
        return 0;
    }
    struct Employee employees[n];
    double totalSalary = 0.0;
    for (int i = 0; i < n; i++)
    {
        scanf("%s %d %d", employees[i].name, &employees[i].id, &employees[i].type);
        if (employees[i].type == 1)
        {
            scanf("%d", &employees[i].pay.fullTimeSalary);
            totalSalary += employees[i].pay.fullTimeSalary;
        }
        else if (employees[i].type == 2)
        {
            scanf("%f", &employees[i].pay.partTimeRate);
            totalSalary += employees[i].pay.partTimeRate;
        }
    }
    printf("%.2f\n", totalSalary);
    return 0;
}*/