/*
TASK:TRI
LANG:C++
*/
#include<iostream>
using namespace std;
int main()
{
    int m,n,c,d,e,pr1,pr2,pr3,br=0;
    bool q,boo;
    cin>>n>>m;
    int b[m][2],w[n][3];
    for(int i=0; i<m; i++)for(int j=0; j<2; j++)cin>>b[i][j];
    
    for(int i=0; i<(m-2); i++)
    {
        c=b[i][0];
        d=b[i][1];
        q=0;
        boo=0;
        pr1=i;
        for(int j=i+1; j<(m-1); j++)
        {
            if(b[j][0]==d)e=b[j][1];
            if(b[j][1]==d)e=b[j][0];
            if(b[j][0]==c)e=b[j][1];
            if(b[j][1]==c)e=b[j][0];
            pr2=j;
            for(int in=j+1; in<m; in++)
            if((b[in][0]==d && b[in][1]==e)||(b[in][0]==e && b[in][1]==d)){ pr3=i; break; boo=1; }
        }
        if(!boo)continue;
        for(int index=0; index<m; index++)if((b[index][0]==c || b[index][1]==c)&& index!=pr1){ q=1; break; }
        for(int index=0; index<m; index++)if((b[index][0]==d || b[index][1]==d)&& index!=pr2){ q=1; break; }
        for(int index=0; index<m; index++)if((b[index][0]==e || b[index][1]==e)&& index!=pr3){ q=1; break; }
        if(!q)
        {
            br++;
            w[br][0]=c;
            w[br][1]=d;
            w[br][2]=e;
        }
    }
    
    int s=0;
    int r;
    if(br==0)r=0;
    else
    {
        for(int par=1; par<=br; par++)
        if((w[par][0]+w[par][1]+w[par][2])>s)
        s=w[par][0]+w[par][1]+w[par][2];
        r=s;
    }
    cout<<r<<endl;
    return 0;
}
        
