The primary goal of heap sort is to rearrange the elements of an array in order of their magnitude. It is typically used in situations where sorting needs to be done on a large set of data. 

Heapify is a procedure in the heap sort algorithm that builds the heap data structure in-place. It takes an array, arr, of length n as input and uses the divide-and-conquer approach to create a heap structure out of the array. The process of Heapify involves maintaining the heap property of the heap structure as we insert elements into it. 
The main steps of heapify are first, to swap the parent node with its largest child node so that the parent node is always larger than its children, and secondly, to repeat the same process for the swapped node. By repeating this process for each node in the heap, the heap structure is constructed in a hierarchical fashion.
spam fails_task lang_mismatch pii not_appropriate hate_speech sexual_content quality toxicity humor helpfulness creativity violence