cout<<"Enter limit: ";
cin>>lim;
dls(strt,lim);

void dls(int node, int lim)
{
    dls_level++;        ///If function enters in a new/child node level incriments.

    ///This segment works to return if goal acheived. (Main modification of Standerd algo).
    if(get_goal) return;
    if(node==goal)
    {
        path.push_back(node);
        get_goal=true;
        return;
    }

    path.push_back(node);
    vis[node]=1;
    for(int i=1;i<=n;i++)
    {
        if(graph[node][i] && !vis[i])
        {
            if(dls_level<lim) dls(i,lim);
        }
    }

    dls_level--;        ///If Function returns from a node, level decrements.
}