Nested-list is giving segmentation-fault : I don't understand why this C++ code is producing segmentation error.

Please Someone tell...

        #include<bits/stdc++.h>
		using namespace std;
		typedef long long ll;
		list<int> *adj;
		void addEdge(int v, int w) 
		{ 
		    adj[v].push_back(w); // Add w to v’s list. 
		    adj[w].push_back(v);
		} 

		int main(){
		    int n,m,t;
		    cin>>n>>m>>t;
		    int u, v;
		    
		    for(int i=0; i<m; i++){
			cin>>u>>v;
			addEdge(u,v);
		    }
		    cout<<n<<"\n";
		    for(int i=1;i<=n;i++)cout<<i<<" ";
		}