Какие строки кода содержат ошибки?

struct A 
{ 
  int a; 
  public: int b; 
  protected: int c; 
  private: int d; 
}; 
 
struct B: public A 
{ 
  int fa() {return a;}  //1 
  int fb() {return b;}  //2 
  int fc() {return c;}  //3 
  int fd() {return d;}  //4 
}; 
3 и 4
1 и 3
только 4
1 и 4