int main(int argc, char **argv) {
    if (argc != 3) {
        fprintf(stderr, "Usage: copy size src\n");
        exit(1);
    }
    int size = strtol(argv[1], NULL, 10);
    char *src = argv[2];

    char dummy1[size];
    char dest[size];
    char dummy2[size];
    
    memset(dest, 'x', size);

    // Set all the bytes of dest to a dummy value to facilitate testing
    // The two dummy arrays should be allocated before and after dest
    // We fill them with values to help with debugging and testing
    memset(dummy1, 'A', size);
    dummy1[size - 1] = '\0';
    memset(dummy2, 'Z', size);
    dummy2[size - 1] = '\0';

    copy(dest, src, size);

    printf("%s\n", dest);
    printf("%s %s\n", dummy1, dummy2);
    return 0;
}
