Setting container height related to screen vertical height


I need to create 3 same size containers aligned in three lines and I need to fill whole screen.
For this reason I need to to get height of each container and according to my understanding it should be LV_HOR_RES_MAX / 3 .

Function below creates two containers with this height and there are no enough space for third one. What is wrong with my understanding?

void test_screen_create(void)
	int h = (LV_HOR_RES_MAX / 3) ;
	test_screen = lv_obj_create(NULL, NULL);
	lv_obj_t *  container1 = lv_cont_create(test_screen, NULL);  
	lv_cont_set_layout(container1, LV_LAYOUT_PRETTY_MID);
	lv_cont_set_fit2(container1, LV_FIT_PARENT, LV_FIT_NONE);  
	lv_obj_align(container1, test_screen, LV_ALIGN_IN_TOP_MID, 0, 0); 
	lv_obj_add_style(container1, LV_OBJ_PART_MAIN, &container_style);

	lv_obj_t *  container2 = lv_cont_create(test_screen, NULL);  
	lv_cont_set_layout(container2, LV_LAYOUT_PRETTY_MID);
	lv_cont_set_fit2(container2, LV_FIT_PARENT, LV_FIT_NONE);  
	lv_obj_set_height(container2, h);
	lv_obj_align(container2, container1, LV_ALIGN_OUT_BOTTOM_MID, 0, 0); 
	lv_obj_add_style(container2, LV_OBJ_PART_MAIN, &container_style);

LV_HOR_RES_MAX is the maximum horizontal resolution, or width. If you are setting height, you want the maximum vertical resolution (LV_VER_RES_MAX).