trigger StudentInsert on Student__c(before insert) {
           set<ID> classIds=new set<ID>();
        for(Student__c s:trigger.new){
         classIds.add(s.Class__c);
           }
               List<class__c> cls = [select NumberOfStudents__c,MaxSize__c,Class_Id__c from class__c where Class_Id__c IN :classIds];
               Map<Id,Class__c> classMap = new Map<Id,Class__c>();
             for(class__c c :cls){
                 if(!classMap.containsKey(c.Class_Id__c)) {
                      classMap.put(c.Class_Id__c,c);
                 }
             }
            for(student__c s1 : trigger.new){
             if(classMap.get(s1.class__c).NumberOfStudents__c > classMap.get(s1.class__c).MaxSize__c) {
                     s1.addError('Cannot insert Record - Class is full');
               }
         } 
        update classMap.values();
      }

my student max size is 5,whuile am adding 5 th record in class am getting error like
>StudentInsert: execution of BeforeInsert caused by: System.NullPointerException: Attempt to de-reference a null object: Trigger.StudentInsert: line 14, column 1



please help to resolve