Using UDF Tigergraph

Hi everyone,
Can someone convert this code C++ to use in UDF of TigerGraph for me please?

#include <bits/stdc++.h>

using namespace std;
 

const int MAX = 100;
 
// Stores the vertices

int store[MAX], n;
 
// Graph

int graph[MAX][MAX];
 
// Degree of the vertices

int d[MAX];
 
// Function to check if the given set of
// vertices in store array is a clique or not

bool is_clique(int b)
{
 

    // Run a loop for all set of edges

    for (int i = 1; i < b; i++) {

        for (int j = i + 1; j < b; j++)
 

            // If any edge is missing

            if (graph[store[i]][store[j]] == 0)

                return false;

    }

    return true;
}
 
// Function to find all the sizes
// of maximal cliques

int maxCliques(int i, int l)
{

    // Maximal clique size

    int max_ = 0;
 

    // Check if any vertices from i+1

    // can be inserted

    for (int j = i + 1; j <= n; j++) {
 

        // Add the vertex to store

        store[l] = j;
 

        // If the graph is not a clique of size k then

        // it cannot be a clique by adding another edge

        if (is_clique(l + 1)) {
 

            // Update max

            max_ = max(max_, l);
 

            // Check if another edge can be added

            max_ = max(max_, maxCliques(j, l + 1));

        }

    }

    return max_;
}
 
// Driver code

int main()
{

    int edges[][2] = { { 1, 2 }, { 2, 3 }, { 3, 1 }, 

                       { 4, 3 }, { 4, 1 }, { 4, 2 } };

    int size = sizeof(edges) / sizeof(edges[0]);

    n = 4;
 

    for (int i = 0; i < size; i++) {

        graph[edges[i][0]][edges[i][1]] = 1;

        graph[edges[i][1]][edges[i][0]] = 1;

        d[edges[i][0]]++;

        d[edges[i][1]]++;

    }
 

    cout << maxCliques(0, 1);
 

    return 0;
}