`@RestResource(urlMapping='/MyAccount/*')
global with sharing class wrapper
{
    @HttpGet
    global static String MyAccount()
    {
        RestRequest req = RestContext.request;
        RestResponse res = RestContext.response; 
        list<Account> acc = [Select name ,Id, (Select Id, lastname from Contacts)From Account limit 10];
        list<Accountw> aw = new list<Accountw>();
        list<ContactW> con= new list<ContactW> ();
        for(Account ac :acc)
        {
            
            for(contact c :ac.Contacts)
            	{
                    contactW c1 = new contactW(c.name,c.Email);//17 th line

                    con.add(c1);
            	}
            Accountw a = new Accountw(ac.id,ac.name,con);
           aw.add(a);   
        }
    
        return JSON.serialize(aw);
    }
    class Accountw
    { 
        string Ids{get;set;}
        string Name{get;set;}
        list<contactW> con{get;set;}
        Accountw(String ids,string name,list<contactW> con1)
        {
        	Ids=ids;
         	Name=name;
         	con= con1;
        }
    }
    class contactW
    {
        string cname{get;set;}
        string Email{get;set;}
         contactW(string name ,string  Email)
        {
            cname = name;
            Email = Email;
        }
    }
}`
When I execute this code i get the following error:
          message: System.SObjectException: SObject row was retrieved via SOQL without querying the requested field: Contact.Name Class.wrapper.MyAccount: line 17, column 1
errorCode: APEX_ERROR