using C array generation