#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// Function to encapsulate the probe counting logic
int calculate_total_probes(int N, int M, int keys[], int prime) {
    int* table = (int*)malloc(N * sizeof(int));
    memset(table, -1, N * sizeof(int));

    int total_probes = 0;
    for (int k = 0; k < M; k++) {
        int key = keys[k];
        
        int h1 = key % N;
        int step = prime - (key % prime);
        
        // Handle unsafe step size, though not required by output
        if (step == 0) step = 1; 

        int i = 0;
        while (1) {
            total_probes++;
            int idx = (h1 + i * step) % N;

            if (table[idx] == -1) {
                table[idx] = key;
                break;
            }
            i++;
        }
    }

    free(table);
    return total_probes;
}

int main() {
    int N, M, prime1, prime2;
    scanf("%d %d", &N, &M);

    int* keys = (int*)malloc(M * sizeof(int));
    for (int i = 0; i < M; i++) {
        scanf("%d", &keys[i]);
    }
    scanf("%d %d", &prime1, &prime2);
    
    // Add validation for inputs if needed

    int probes1 = calculate_total_probes(N, M, keys, prime1);
    int probes2 = calculate_total_probes(N, M, keys, prime2);

    printf("%d\n", probes1);
    printf("%d\n", probes2);

    free(keys);
    return 0;
}