input: Write a python function to construct a CNN model using Keras for an image classification task.
  assert build_model().summary() is not None
output: def build_model():
      from keras.models import Sequential
      from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense, Dropout
  
      model = Sequential()
      
      # First convolutional layer
      model.add(Conv2D(32, (3, 3), activation='relu', input_shape=(64, 64, 3)))
      model.add(MaxPooling2D(pool_size=(2, 2)))
      
      # Second convolutional layer
      model.add(Conv2D(64, (3, 3), activation='relu'))
      model.add(MaxPooling2D(pool_size=(2, 2)))
      
      # Third convolutional layer
      model.add(Conv2D(128, (3, 3), activation='relu'))
      model.add(MaxPooling2D(pool_size=(2, 2)))
      
      # Flattening the results
      model.add(Flatten())
      
      # Fully connected layer
      model.add(Dense(128, activation='relu'))
      model.add(Dropout(0.5))
      model.add(Dense(10, activation='softmax'))
      
      return model