function [bitmap text audio] = studentTask(pngFile)
    original = imread(pngFile);

    % Convert red channel to a bitmap
    bitmap = mod(original(:,:,1),2);
    
    % Convert green channel to ascii
    textbits = mod(original(:,:,2),2);
    textbits = reshape(textbits, 1, []);   % teat as one long vector
    text = '';
    for k = 1:floor(length(textbits)/8)
        c = binaryToInt( textbits( (8*k-7):(8*k) ) );
        text = [text c];
    end
    text = char(text);
    
    % Convert blue channel to audio
    audiobits = mod(original(:,:,3),2);
    audiobits = reshape(audiobits, 1, []);  % treat as one long vector
    audio = [];
    for k = 1:floor(length(audiobits)/16)
        c = binaryToInt( audiobits( (16*k-15):(16*k) ) );
        if c >= 2^15
            signed = int16(c - 2^16);
        else
            signed = int16(c);
        end
        audio = [audio signed];
    end

function n = binaryToInt(v)
    n = 0;
    for bit = int32(v)         % use 32-bit precision for intermediate computations
        n = 2 * n + bit;
    end
