/* fill an array, allocated dinamically without malloc,
** with 1, 2, 3, 4, ...
** then sum all of the values and print the result */
#include <stdio.h>

void vlaalloc(size_t nmemb, size_t siz, void (*fx) (void *, size_t)) {
  unsigned char data[nmemb * siz];

  fx(data, nmemb);
}

int arraysum(int *arr, size_t len) {
  int val = 0;
  for (size_t i = 0; i < len; i++) val += arr[i];
  return val;
}

void seq(void *data, size_t len) {
  int *arr = data;
  for (size_t i = 0; i < len; i++) arr[i] = i + 1;
  printf("array sum is %d\n", arraysum(arr, len));
}

int main(void) {
  int n;

  if (scanf("%d", &n) == 1) {
    vlaalloc(n, sizeof (int), seq);
  }
}