Beautiful vertices program test cases wrong

I corrected my code according to what TA responded but test cases are still wrong. Here is m 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();
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());
}
}
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;
}
}

just tell me what’s your logic .
try for this input
4 2
1 2
2 3