#import <Foundation/Foundation.h>

@interface BankAccount : NSObject
@property (copy) NSString *name;
@property (copy) NSDecimalNumber *balance;
- (id)initWithName:(NSString *)name;
- (id)initWithBalance:(NSDecimalNumber *)balance;
- (id)initWithName:(NSString *)name balance:(NSDecimalNumber *)balance NS_DESIGNATED_INITIALIZER;
@end

@implementation BankAccount

- (id)initWithName:(NSString *)name {
    if ((self = [super init])) {
        self.name = name;
    }
    return self;
}

- (id)initWithName:(NSString *)name balance:(NSDecimalNumber *)balance {
    if ((self = [self initWithName:name])) {
        self.balance = balance;
    }
    return self;
}

- (id)initWithBalance:(NSDecimalNumber *)balance {
    return [self initWithName:NSLocalizedString(@"Anonymous", nil) balance:balance];
}

@end

int main(int argc, char *argv[]) {
    @autoreleasepool {
        
    }
}