// editor5
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void allocateAndFreeString(int n,const char* inputString){
    if(n <= 0){
        printf("Invalid input\n");
        return;
    }
    char* myString = (char*)malloc((n + 1) * sizeof(char));
    if(myString == NULL){
        return;
    }
    strncpy(myString, inputString,n);
    myString[n] = '\0';
    printf("Initialized String: %s",myString);
    free(myString);
    printf("\nMemory freed successfully");
}
int main(){
    int n;
    char inputString[101];
    
    scanf("%d",&n);
    
    
    while(getchar()!= '\n');
    fgets(inputString, sizeof(inputString), stdin);
    if(inputString[strlen(inputString) - 1] == '\n'){
        (inputString[strlen(inputString) - 1] =='\0');
    }
    allocateAndFreeString(n, inputString,myString);
    return 0;
}