<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_alm_disp_fc3(disp_dataset):
 """Create displacements of atoms for ALM input Note ---- Dipslacements of all atoms in supercells for all displacement configurations in phono3py are returned, i.e., most of displacements are zero. Only the configurations with 'included' == True are included in the list of indices that is returned, too. Parameters disp_dataset : dict Displacement dataset that may be obtained by file_IO.parse_disp_fc3_yaml. Returns ------- disp : ndarray Displacements of atoms in supercells of all displacement configurations. shape=(ndisp, natom, 3) dtype='double' indices : list of int The indices of the displacement configurations with 'included' == True. """


    natom = disp_dataset['natom']
    ndisp = len(disp_dataset['first_atoms'])
    for disp1 in disp_dataset['first_atoms']:
        ndisp += len(disp1['second_atoms'])
    disp = np.zeros((ndisp, natom, 3), dtype='double', order='C')
    indices = []
    count = 0
    for disp1 in disp_dataset['first_atoms']:
        indices.append(count)
        disp[count, disp1['number']] = disp1['displacement']
        count += 1

    for disp1 in disp_dataset['first_atoms']:
        for disp2 in disp1['second_atoms']:
            if 'included' in disp2:
                if disp2['included']:
                    indices.append(count)
            else:
                indices.append(count)
            disp[count, disp1['number']] = disp1['displacement']
            disp[count, disp2['number']] = disp2['displacement']
            count += 1

    return disp, indices