#include <gudhi/Simplex_tree.h>
#include <gudhi/Persistent_cohomology.h>
#include <iostream>
#include <vector>
#include <cstdint>  
  
  static const bool store_filtration = false;
  
  static const bool store_key = true;
  
  typedef short Vertex_handle;
  
  typedef std::uint8_t Simplex_key;
};
int main() {
  ST st;
  
  
  
  
  
  
  const short edge01[] = {0, 1};
  const short edge02[] = {0, 2};
  const short edge12[] = {1, 2};
  const short edge03[] = {0, 3};
  const short edge13[] = {1, 3};
  const short edge35[] = {3, 5};
  const short vertex4[] = {4};
  st.insert_simplex_and_subfaces(edge01);
  st.insert_simplex_and_subfaces(edge02);
  st.insert_simplex_and_subfaces(edge12);
  st.insert_simplex_and_subfaces(edge03);
  st.insert_simplex(edge13);
  st.insert_simplex_and_subfaces(edge35);
  st.insert_simplex(vertex4);
  
  st.initialize_filtration();
  
  
  
  
  
  
  
  
  
  
  
  
  
  std::cout << std::endl;
  std::cout << "The Betti numbers are : ";
  for (int i = 0; i < 3; i++)
    std::cout << 
"b" << i << 
" = " << pcoh.
betti_number(i) << 
" ; ";
  std::cout << std::endl;
}