Beautiful vertices program test cases wrong

I wrote this code for beautiful vertices challenge. It is giving correct answer for sample input but my test cases are wrong . Please tell me what is wrong in my code.
import java.util.Scanner;
import java.util.ArrayList;
import java.util.HashMap;
public class Main {
public static void main(String args[]) {
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int m = scn.nextInt();
Graph graph = new Graph();
for(int i=0;i<m;i++){
int a = scn.nextInt();
int b = scn.nextInt();
graph.addvertex(a);
graph.addvertex(b);
graph.addedge(a,b);
}
System.out.print(graph.beautifulvertices());
}
}
class Graph{
private class Vertex{
HashMap<Integer,Integer> nbrs = new HashMap<>();
}
HashMap<Integer,Vertex> vtces;
Graph(){
vtces = new HashMap<>();
}
public int numvertex(){
return this.vtces.size();
}
public boolean containsvertex(Integer vname){
return this.vtces.containsKey(vname);
}
public void addvertex(Integer vname){
if(vtces.containsKey(vname)){
return;
}
Vertex vtx = new Vertex();
vtces.put(vname,vtx);
}
public void removevertex(Integer vname){
Vertex vtx = vtces.get(vname);
ArrayList keys = new ArrayList<>(vtx.nbrs.keySet());
for(Integer key : keys){
Vertex nbrvtx = vtces.get(key);
nbrvtx.nbrs.remove(vname);
}
}
public int numedges(){
int count=0;
ArrayList keys = new ArrayList<>(vtces.keySet());
for(Integer key : keys){
Vertex vtx = vtces.get(key);
count+=vtx.nbrs.size();
}
return count/2;
}
public boolean containsedge(Integer vname1,Integer vname2){
Vertex vtx1 = vtces.get(vname1);
Vertex vtx2 = vtces.get(vname2);
if(vtx1==null||vtx2==null||!vtx1.nbrs.containsKey(vname2)){
return false;
}
return true;
}
public void addedge(Integer vname1,Integer vname2){
Vertex vtx1 = vtces.get(vname1);
Vertex vtx2 = vtces.get(vname2);
if(vtx1==null||vtx2==null||vtx1.nbrs.containsKey(vname2)){
return;
}
vtx1.nbrs.put(vname2,0);
vtx2.nbrs.put(vname1,0);
}
public void removeedge(Integer vname1,Integer vname2){
Vertex vtx1 = vtces.get(vname1);
Vertex vtx2 = vtces.get(vname2);
if(vtx1==null||vtx2==null||!vtx1.nbrs.containsKey(vname2)){
return;
}
vtx1.nbrs.remove(vname2);
vtx2.nbrs.remove(vname1);
}
public void display(){
ArrayList keys = new ArrayList<>(vtces.keySet());
for(Integer key : keys){
Vertex vtx = vtces.get(key);
System.out.println(key + " : "+ vtx.nbrs);
}
}
public int beautifulvertices(){
int count=0;
int min=Integer.MAX_VALUE;
ArrayList keys = new ArrayList<>(vtces.keySet());
for(Integer key : keys){
if(key<min){
min=key;
}
}
for(Integer key : keys){
if(key==min){
continue;
}
int countin=0;
int minin=key;
ArrayList nbr = new ArrayList<>(vtces.get(key).nbrs.keySet());
for(Integer set : nbr){
if(set<minin){
minin=set;
}else{
countin++;
}
}
if(countin>vtces.get(minin).nbrs.size()-1){
count++;
}
}
return count;
}
}

first of all add all vertex 1 to N
Main function should look like this
public static void main(String args[]) {
Scanner scn = new Scanner(System.in);
int n = scn.nextInt();
int m = scn.nextInt();
Graph graph = new Graph();
while (n-- > 0) {
graph.addvertex(n);
}
for (int i = 0; i < m; i++) {
int a = scn.nextInt();
int b = scn.nextInt();
graph.addvertex(a);
graph.addvertex(b);
graph.addedge(a, b);
}
System.out.print(graph.beautifulvertices());

public void removevertex(Integer vname){

Vertex vtx = vtces.get(vname);

ArrayList keys = new ArrayList<>(vtx.nbrs.keySet());// define ArrayList type of Integer.

for(Integer key : keys){

Vertex nbrvtx = vtces.get(key);

nbrvtx.nbrs.remove(vname);

}

}

yor are making the same mistake everywhere


you can this code.